SQL查询多对多关系计数特定条件计数0表示没有

时间:2016-11-19 00:39:31

标签: sql sql-server

我想知道如何查询状态为“重新订购”的每个客户的订单数量,并认为我的订单数量非常接近但不完全是我想要完成的,因为它只计算那些已经开启的客户重新排序'他们的状态而不是所有客户(否则应该计为0,其中'重新订购'不适用)。

我很确定我需要使用子查询或连接来实现此目的。任何帮助,将不胜感激。以下是我到目前为止的情况:

SELECT custName, ordNum, COUNT(*) AS reorder_count
FROM Orders, Customers
WHERE Orders.custNum = Customers.custNum
AND status = 'on reorder'
GROUP BY orderNum, custName;

1 个答案:

答案 0 :(得分:1)

从不itertools.tee子句中使用逗号。 始终使用显式FROM语法。它是正确的,现代的,更强大的。

您需要JOIN

LEFT JOIN