我的表结构是
item_id (int)
category_id (int)
这是一些示例数据:
╔═════════╦═════════════╗
║ item_id ║ category_id ║
╠═════════╬═════════════╣
║ 2 ║ 4 ║
║ 2 ║ 5 ║
║ 3 ║ 5 ║
║ 6 ║ 9 ║
║ 1 ║ 2 ║
║ 4 ║ 5 ║
║ 6 ║ 3 ║
║ 4 ║ 4 ║
╚═════════╩═════════════╝
我无法通过第二个字段的多选来选择一行。
例如,我需要选择包含 category_id = 4 和 5 的所有行
最佳答案
我猜你需要这样的东西:
http://sqlfiddle.com/#!9/019c4/2
SELECT item_id
FROM items
WHERE category_id IN (4, 5)
GROUP BY item_id
HAVING COUNT(DISTINCT category_id)=2
关于mysql - 通过两个字段从一个表中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33227401/