2

SQLクエリ

TABLE - CUSTOMER
1001,1
1001,2
1001,3
1002,1
1002,3
1003,3

TABLE - PRODUCT
1
2
3

結果は1001cozになり、すべての値が注文テーブルと一致します。
PRODUCTテーブルは時間の経過とともに変化する可能性があります。
誰が私からすべての製品を購入したのか知りたいです。
ありがとう!

4

1 に答える 1

8

CustomerTBそれが2つの列を持つテーブルであると仮定します:CustomerIDProductIDCustomerIDそれをグループ化して、彼が購入した個別の製品を数える必要があります。(顧客が製品ごとに1つしか購入できない場合、DISTINCTは必要ありませんproduct)、表のリストにある製品の総数と同じである必要があります。

SELECT customerID
FROM   CustomerTB
GROUP BY CustomerID
HAVING COUNT(DISTINCT productID) = (SELECT COUNT(*) FROM ProductTB)
于 2012-11-11T15:05:11.573 に答える