1

この問題があります。同じProductIDを持つすべてのレコードを検索する必要があります

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

結果は間違っ
ています。すべての製品を含むすべてのphIDを取得する必要があります

phID1002にはProductID8、9、および14がないため、そこに存在できません

(8,9,12,14,25)と入力した場合、1001には(8,9,12,14,25)と1004が同じであるため、結果は1001,1004である必要がありますが、(12,25,49)と入力した場合すべてが(12,25,49)を持っているため、結果は1001,1002,1004でなければなりません。

何か助けはありますか?:)

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 に答える