确定如何将这个问题置于尴尬的措辞中,这通常是当我知道如何正确描述问题时,我可以使用网站搜索来查找它,或Google等。
无论如何,问题很简单 - 我正在查询带有可变数组AttributeIds的链接/联结表,例如ID 14和17.使用下表:
http://img220.imageshack.us/img220/5999/setattributecombo.gif
我想从这个查询返回的唯一有效结果是ProductSetId是相同的,所以不是'IN'我想要像
这样的东西WHERE AttributeIds IN 14,17 AND ProductSetId is the same
在上面的例子中,唯一有效的结果是5,但如果我使用IN查询,我得到2,5,7作为结果。
有什么想法吗?
答案 0 :(得分:1)
SELECT ProductSetID, COUNT(*) AS CountOfMatchingRows
From MyTable
WHERE AttributeId IN (14,17 )
GROUP BY ProductSetID
HAVING COUNT(*) = 2
答案 1 :(得分:0)
听起来你想要执行关系部门。 Simple-Talk上有一篇关于各种方法的好文章。 http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division/