1

我有这个问题我必须找到具有相同 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)

有什么帮助吗?:)

4

1 回答 1

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;
于 2013-03-13T13:21:58.617 回答