【发布时间】:2016-11-17 18:50:35
【问题描述】:
我想知道是否有人可以帮助我。我试图编写一个查询,它将所有订单详细信息行分组到每个产品。
SELECT
Line.NetAmount, Line.QtyDespatch, Line.QtyOrder,
Line.Price, Line.Price * Line.QtySent AS 'Value'
FROM dbo.orderdetails line
LEFT JOIN
(
SELECT products.ProductID, products.CompanyID AS StockCompanyID,
products.StockCode FROM dbo.products
)
Stock ON Line.ProductID = products.ProductID AND products.StockCompanyID = Line.CompanyID
WHERE Line.CompanyID = 1
ORDER BY Stock.StockID ASC
我得到的结果是针对每个订单详细信息行单独进行的,但我想按每个产品 ID 进行分组,并将 (Line.Price * Line.QtySent) 作为每个产品的总和并显示每个产品一次。
我得到的结果是
PID Net sent qty Price Value
39044 12 0 5 2.4 0
39044 12 0 5 2.4 0
39044 12 0 5 2.4 0
39044 12 0 5 2.4 0
但我不想为每一行获取它,而是按产品获取所有行的累积值。基本上每种产品的累计总数
【问题讨论】:
-
你能显示一些预期的结果吗,你的初始查询有 netamount、qtydespatch 和 qtyorder 不能在这个结果集中,因为我们不知道要使用哪一行的净数量等。或者你只是在结果集中的 ProductID 和 TotalPrice 之后?