我正在学习 SQL 课程,完全被这个问题难住了。
使用子查询有一个查询返回:CustomerID、EmailAddress、FirstName、LastName、'#3:订购超过 1 件产品的客户'作为 queryInfo 此查询的子查询将是:订购超过 1 件产品的所有客户
注意:不止一个产品,而不是数量 > 1 所以订购 10 个相同产品的客户不是我要找的。
这是我使用的完整查询:
SELECT c.CustomerID
, c.EmailAddress
, c.FirstName
, c.LastName
, '#3: Customers who have ordered more than 1 product' AS queryInfo
FROM Customers c
WHERE c.CustomerID IN (
SELECT p.ProductID
FROM Customers c
JOIN Orders o
ON c.CustomerID = o.CustomerID
JOIN OrderItems oi
ON o.OrderID = oi.OrderID
JOIN Products p
ON oi.ProductID = p.ProductID
GROUP BY p.ProductID
HAVING COUNT(*) > 1
)
;
不知道我做错了什么,但非常感谢任何输入。谢谢!