product_id property_id
1 2
1 5
2 2
3 5
我有一张如上所示的映射表。如果id =1
,我只想获得product_id in (2,5)
的产品。即如果表格包含2,5
而不是数据,如果仅包含property_id
2 or 5
select group_concat(distinct product_id) product_ids from table where property_id in (2,5)
更新: property_id in可以是(2,5,....)中的property_id。我从表格输出2,5,....等等。它不仅适用于单一案例。如果property_id中的条件与整个系列匹配,我只想要输出。
答案 0 :(得分:1)
这是怎么做的
select
product_id from
table_name
where property_id in (2,5)
group by product_id
having count(*) = 2
您需要将having count(*) = 2
更改为IN()
内的项目数,现在是2,如果您正在查看3属性ID,那么它将是3,依此类推。
答案 1 :(得分:0)
select distinct a.product_id
from table a, table b
where a.product_id = b.product_id
and a.property_id = 2
and b.property_id = 5