2017-06-16 68 views
4

我用下面的查詢來獲取訂單ID:如何在MS Access SQL中獲取總金額?

SELECT OrderItem.ID 
    , ProductID 
    , OrderID 
    , Quantity 
    , P.Title 
    , P.CurrentPrice 
    , P.ID 
    , (P.CurrentPrice* OrderItem.Quantity) AS Total 
FROM OrderItem 
INNER JOIN Product AS P 
    ON OrderItem.ProductID = P.ID 

我怎樣才能爲每個訂單ID總量(添加有相同的OrderID所有總)?

+1

提示:'GROUP BY','SUM()'。 –

+0

SELECT OrderItem.ID,產品ID,訂單ID,數量,P.Title,P.CurrentPrice,P.ID,(P.CurrentPrice * OrderItem.Quantity)爲總,SUM(總計) FROM OrderItem的INNER JOIN產品爲P ON OrderItem的.ProductID = P.ID GROUP BY的OrderID,OrderItem.ID,產品ID,數量,P.Title,P.CurrentPrice,P.ID無法正常工作,輸出我嘗試的MS Access內部使用的所有記錄和SUM(總計)=總 –

+0

與其他查詢源查詢,以及它的工作選擇的OrderID,SUM(MainQuery.Total) FROM MainQuery GROUP BY的OrderID 但我需要用Delphi和公正的SQL查詢。 –

回答

3

你可以使用一個選擇表格選擇和group by

select OrderID, sum(Total) 
from (
SELECT 
    OrderItem.ID 
    , ProductID 
    , OrderID 
    , Quantity 
    , P.Title 
    ,P.CurrentPrice 
    , P.ID 
    , (P.CurrentPrice* OrderItem.Quantity) AS Total 
FROM OrderItem 
INNER JOIN Product AS P ON OrderItem.ProductID = P.ID 
) t 
group by OrderId 
+0

非常感謝。 如何我可以加入該查詢與 SELECT O.ID,C.SecondName,E.SecondName,O.DateOf,O.ClientID,O.EmployeeID,O.Desc FROM((Client AS C INNER JOIN [ORDER] AS O在C.ID = O.ClientID) INNER JOIN僱員AS E號E.ID = O.EmployeeID) INNER JOIN產品爲P ON P.ID = O.ProductID; 訂單表中的總字段? –

+0

您的評論似乎是一個新的問題......你應該發表一個新的有據可查的問題..是很難理解你的目標希望在註釋中的代碼..無論如何,如果可以asnwer我的權利,請標記爲接受,並最終發表評論我的新鏈接 – scaisEdge

+0

https://stackoverflow.com/questions/44597417/total-sum-fields-from-joined-tables –

0

我只是新來的SQL,但我認爲這是解決方案。

SELECT OrderItem.ID, ProductID, OrderID, Sum(Quantity) AS Sum of Quantity, P.Title,P.CurrentPrice, P.ID, (P.CurrentPrice* OrderItem.Quantity) AS Total 
FROM OrderItem INNER JOIN Product AS P ON OrderItem.ProductID = P.ID GROUP BY OrderID 

希望這會有所幫助。