如何统计0个订单?

时间:2017-01-25 11:00:29

标签: mysql sql

我需要找到他们所做的所有员工(他们的名字)和“订单金额”(如果有的话),按名称从A到Z排序,确保所有结果列都有适当的名字。

这是我的要求:

select Employees.FirstName, count(Orders.OrderID) as "Amount of Orders"
from (Orders
inner join Employees
on Orders.EmployeeID=Employees.EmployeeID)
group by FirstName
having count(Orders.OrderID) >= 0;

但是这个请求并没有显示一个发出0个订单的员工。 有什么问题?

提前谢谢你。

1 个答案:

答案 0 :(得分:1)

Employees加入Orders并使用左连接而不是内部(或仍然从OrdersEmployees,因为您已经写过 - 但使用权限加入这种情况)。

同时删除多余的having count(Orders.OrderID) >= 0;条件(我无法想象您的方案中的负订单数):

select 
    Employees.FirstName, 
    count(Orders.OrderID) as "Amount of Orders"
from Employees
    left outer join Orders on Orders.EmployeeID=Employees.EmployeeID
group by Employees.FirstName