【发布时间】:2019-08-24 23:13:54
【问题描述】:
我有订单:
我有 OrderLine:
我想显示哪个产品的销量最高。
我想汇总订单行中属于状态为“已完成”的订单的每个数量
查看数据,我们只看到orderID = 3 有orderstatus = Completed,因此我们只需要OrderLine 对应OrderID = 3 - 即OrderLineID = 6 和OrderLineID = 7。
所以我们的预期结果将是ProductID 1 和Quantity 11,如下所示:
ProductID|OrderLineQuantity
--------1-----|----------11-----------
到目前为止,我的代码产生了一个错误:
选择列表中的“OrderLine.ProductID”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
我的代码:
SELECT OrderLine.ProductID, SUM(OrderLineQuantity)FROM OrderLine Inner Join [Order] ON OrderLine.OrderID = [Order].OrderID WHERE OrderStatus = 'Completed'
【问题讨论】:
标签: sql asp.net sql-server visual-studio