我有这个问题
我必须找到所有具有相同产品ID的记录
例子
http://www.sqlfiddle.com/#!2/021cd/5
结果是错误的
我需要得到所有产品的所有phID
phID 1002没有ProductID 8、9和14,因此不能存在
如果我输入(8,9,12,14,25),结果必须是10011004,因为1001有(8,9,12,14,25)和1004相同
但是如果我输入(12,25,49),结果必须是100110021004,因为所有的都有(12,25,49)
有什么帮助吗?:)

最佳答案

您的查询将获取列出任何产品的phid,而不是所有产品的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;

关于mysql - 为每个ID查找相同的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15386443/

10-11 04:46