在确定如何显示显示2列的结果时遇到问题;一个是员工ID,第二个是该员工销售的订单。
有问题的2个表格为Employees
和Orders
。每个中的主键称为EmployeeID
和OrderID
。 Orders
中包含外键EmployeeID
。我假设我需要使用COUNT
函数来计算出总共有多少订单,但JOIN
并找出如何将员工ID与那个失去我的订单联系起来。
到目前为止我所拥有的一切:
SELECT e.employeeid, COUNT(Orders) AS 'Count'
FROM Employees e
JOIN Orders o ON e.Employeeid = o.Employeeid
GROUP BY e.employeeid;
答案 0 :(得分:0)
您的查询很好,唯一不能计算表格,因此将COUNT(Orders)
更改为COUNT(o.*)
或COUNT(o.OrderID)
:
SELECT e.employeeid, COUNT(o.OrderID) AS OrderCount
FROM Employees e
JOIN Orders o ON e.Employeeid = o.Employeeid
GROUP BY e.employeeid;
建议不要使用COUNT
之类的关键字作为标识符,因此我将其更改为OrcerCount
,但如果您真的需要,则可以使用'Count'
。
此查询仅向您提供订单(至少一个订单)的员工。如果您想包含没有订单的员工,请将JOIN
更改为LEFT JOIN
。
答案 1 :(得分:0)
如果订单表中有外键,除非您需要员工特定的内容,否则为什么要查看员工。我会做这样的事情。
select employeeid, count(*) from Orders group by employeeid;