编写查询以返回客户ID、客户名称和订单数量。包括所有客户,即使他们没有任何订单。
我有两张表。表客户:
Customer ID(employees) Name (employees)
1 Davolio
2 John
和表格顺序:
OrderID (orders) CustomerID (orders)
10248 1
10278 1
我正试图将两者结合起来以获得所需的输出:
CustomerID Customer Name Number of Orders
1 Davolio 2
2 John
然而,我得到了:
CustomerID Customer Name Number of Orders
1 Davolio 2
因为我的MySQL查询没有显示";空值":
SELECT CustomerID,CustomerName, COUNT(*) Number_of_Orders
FROM customers A
INNER JOIN orders B using(CustomerID)
GROUP BY CustomerID
我该如何解决这个问题?
我试着添加";OR Number_of_Order为空";到底部,但我得到了这个错误:
错误:"group statement"中的未知列"Number_of_Order"--错误代码1054
谢谢。
使用LEFT JOIN
而不是INNER JOIN
。
SELECT CustomerID,CustomerName, COUNT(*) Number_of_Orders
FROM customers A
LEFT JOIN orders B using(CustomerID)
GROUP BY CustomerID