2013-03-13 114 views
1

我有这个问题 我必须找到所有的记录有相同的ProductID查找相同的记录每个ID

例如

http://www.sqlfiddle.com/#!2/021cd/5

的结果是错误的
我需要得到所有PHID那拥有所有产品

phID 1002没有产品ID 8,9和14所以不能在那里

如果我输入(8,9,12,14,25),结果必须是1001,1004,因为1001有(8,9,12,14,25)和1004相同的 但是如果我输入(12,25 ,49)结果必须是1001,1002,1004,因为全部都有(12,25,49)

有帮助吗? :)

回答

2

您的查询获得具有任意列出的产品,而不是全部其中的phID。试试这些:

SELECT phID, count(*) c 
FROM Tablename 
WHERE ProductID in (8,9,12,14,25) 
GROUP BY phID 
HAVING c = 5; 

SELECT phID, count(*) c 
FROM Tablename 
WHERE ProductID in (12,25,49) 
GROUP BY phID 
HAVING c = 3; 
相关问题