查找每个id的相同记录

时间:2013-03-13 13:16:59

标签: mysql

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

例如

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

结果有误 我需要获得所有产品的phID

phID 1002没有ProductID 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)

任何帮助? :)

1 个答案:

答案 0 :(得分: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;