mysql - 在where子句中使用相同的列

时间:2014-06-11 18:01:02

标签: mysql

下面是我的表格,我如何通过选择多个item_id来获取item_subcategory_id。 例如,我需要获得item_id的{​​{1}}为86,51和1.我应该只获得item_subcategory_id 1,即使item_id 2有{{1} 51的

请注意,item_subcategory_id的数量是动态的。

enter image description here

我尝试了查询

item_id

但显示空结果

2 个答案:

答案 0 :(得分:2)

您可以使用计数并将计数结果与您在item_subcategory_id子句中提供的不同in()的数字进行比较,就像在您的情况下,不同的item_subcategory_id s是3,所以这只会产生item_iditem_subcategory_idselect * from table where item_subcategory_id in(1,51,86) group by item_id having count(distinct item_subcategory_id) =3

{{1}}

答案 1 :(得分:0)

使用AND运算符组合条件

select item_category_id
from mytable
where item_id = 1 and item_subcategory_id in (86, 51, 1);