簡體   English   中英

在SQL查詢中,如何獲取另一個SUM的SUM?

[英]In SQL query, how do you get the SUM of another SUM?

SELECT b.BranchName, SUM(SUM(ob.FirstQty + ob.SecondQty))* ps.Price TotalCost
FROM Branch b, Product_Supplier ps, Product p, Supplier s, Order o, Order_Details od
WHERE o.BranchID = b.BranchID
AND o.OrderID = ob.OrderID
AND ob.ProductID = p.ProductID
AND p.FirstSupplierID = s.SupplierID
AND ps.SupplierID = s.SupplierID
AND ps.ProductID = ob.ProductID
AND b.BranchID = 1
AND o.OrderDate >= '2015-01-09'
AND o.OrderDate <= '2015-09-09'
Group By b.BranchName, ps.Price

我不知道如何獲得另一筆款項。 所有鍵都是正確的。 如果我這樣刪除第一筆款項,請選擇b.BranchName,SUM(ob.FirstQty + ob.SecondQty)* ps.Price TotalCost,它可以正常工作,但是它顯示了多種成本,例如100、200、300等。我想要的是這些多重費用的總和(總費用)。

GROUP BY子句中刪除ps.Price ,並在SUM函數中使用price進行乘法(使用一對額外的括號)。

查詢變為:

SELECT b.BranchName, SUM((ob.FirstQty + ob.SecondQty) * ps.Price) TotalCost
FROM Branch b, Product_Supplier ps, Product p, Supplier s, Order o, Order_Details od
WHERE o.BranchID = b.BranchID
AND o.OrderID = ob.OrderID
AND ob.ProductID = p.ProductID
AND p.FirstSupplierID = s.SupplierID
AND ps.SupplierID = s.SupplierID
AND ps.ProductID = ob.ProductID
AND b.BranchID = 1
AND o.OrderDate >= '2015-01-09'
AND o.OrderDate <= '2015-09-09'
Group By b.BranchName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM