SQL QUERIES
TABLE - CUSTOMER
1001,1
1001,2
1001,3
1002,1
1002,3
1003,3
TABLE - PRODUCT
1
2
3
结果应为1001因为它使所有值与订单表匹配。
PRODUCT表可能会随时间而变化
我想找出谁从我这里买了所有产品。
谢谢!
答案 0 :(得分:8)
假设CustomerTB
是一个包含两列的表:CustomerID
和ProductID
。您需要按CustomerID
对其进行分组,并计算他购买的独特产品。 (如果客户只能为每个产品购买一个),则不需要 DISTINCT,并且应该等于product
表列表中的产品总数。
SELECT customerID
FROM CustomerTB
GROUP BY CustomerID
HAVING COUNT(DISTINCT productID) = (SELECT COUNT(*) FROM ProductTB)