我有两种餐桌产品和产品颜色
例如
产品
id name
1 T Shirt
2 Jeans
3 Coat
产品颜色
id color p_id
1 Green 1
2 red 1
3 yellow 1
T恤有3种颜色绿色,红色,黄色。
现在我想选择绿色,红色,黄色的产品名称
注意
在查询中返回所有具有红色,绿色,黄色的产品。
答案 0 :(得分:2)
要获得具有所有三种颜色的产品,您可以
select p.name
from products p
join productColors pc on pc.p_id = p.id
where pc.color in ('green','red','yellow')
group by p.id, p.name
having count(distinct pc.id) = 3