我确信这很简单,但这是一个艰难的一天: 我有一个如下数据表。我有一个属性ID列表,需要获得与所有选定的AttributeID匹配的不同ProductID。
ProductID AttributeID
1 2
1 3
1 5
2 2
2 3
2 7
例如,我想要与属性2,3和5匹配的独特产品ID。
最佳方式是什么?
答案 0 :(得分:1)
使用count(distinct ) = n
其中n
是where AttributeId in ()
列表中元素的数量。
select ProductId
from t
where AttributeId in (2,3,5)
group by ProductId
having count(distinct AttributeId)=3