【发布时间】:2017-02-24 05:47:06
【问题描述】:
我知道以前有人问过类似的问题,但我没有见过超过 2 张桌子的问题。而且好像有区别。
我有三个需要字段的表,customers 需要 customerID 和 orderID,orders 从中得到 customerID 和 orderID 和 lineitems orderID 和 quantity(= 订购数量)。
我想知道有多少顾客购买了超过 2 件相同的商品,所以基本上数量 > 2 有:
SELECT COUNT(DISTINCT custID)
FROM customers
WHERE EXISTS(
SELECT *
FROM customers C, orders O, lineitems L
WHERE C.custID = O.custID AND O.orderID = L.orderID AND L.quantity > 2
);
我不明白为什么它会返回所有行的计数。我在检查 >2 条件之前关联子查询,不是吗?
我是 SQL 的初学者,如果有必要,如果您能从根本上向我解释一下,我将不胜感激。谢谢。
【问题讨论】:
标签: sql subquery exists correlated-subquery