我是一名从事家庭作业的计算机科学专业的学生。我试图总计每个销售人员的订单数量。我希望我的最终输出显示销售人员的姓名以及他/她获得的订单数量。
信息存储在两个单独的表中。
示例数据。
表1 - order_t
OrderID CustomerID OrderDate FulfillmentDate SalespersonID ShipAdrsID
1 4 2014-09-08 2014-11-25 3 NULL
2 3 2014-10-04 0000-00-00 3 NULL
3 1 2014-07-19 0000-00-00 2 NULL
4 6 2014-11-01 0000-00-00 5 NULL
5 4 2014-07-28 0000-00-00 3 NULL
6 4 2014-08-27 0000-00-00 3 NULL
7 1 2014-09-16 0000-00-00 2 NULL
8 4 2014-09-16 0000-00-00 3 NULL
9 6 2014-09-16 0000-00-00 5 NULL
表2 - salesperson_t
SalespersonID SalespersonName
1 "Doug Henny"
2 "Robert Lewis"
3 "William Strong"
4 "Julie Dawson"
这是我最新的查询。问题是它只返回ID为2的单个销售人员的数据。我不知道为什么会发生这种情况。
SELECT SalespersonName, COUNT(DISTINCT order_t.SalespersonID) AS TotalOrderQuantity
FROM salesperson_t, order_t
WHERE salesperson_t.SalespersonID = order_t.SalespersonID;
答案 0 :(得分:2)
您需要使用group by
子句
SELECT SalespersonName, COUNT(order_t.SalespersonID) AS TotalOrderQuantity
FROM salesperson_t join order_t on (ordert_t.SalespersonID = salesperson_t.SalespersonID )
group by order_t.SalespersonID
答案 1 :(得分:1)
我建议使用内连接和计数(*)和分组
SELECT SalespersonName, COUNT(*) AS NumberOfOrder
FROM salesperson_t
INNER JOIN order_t on (ordert_t.SalespersonID = salesperson_t.SalespersonID )
GROUP BY order_t.SalespersonID
ORDER BY order_t.SalespersonID