2017-06-16 3 views
4

Ich verwende folgende Abfrage OrderID erhalten:Wie Gesamtmenge in MS Access SQL erhalten?

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 

Wie kann ich den Gesamtbetrag erhalten (Alle hinzufügen Gesamt mit gleicher OrderID) für jede OrderID?

+1

Hinweis: 'GROUP BY',' SUM() '. –

+0

SELECT OrderItem.ID, ProductID, Bestell-ID, Menge, P.Titel, P.CurrentPrice, P.ID, (P.CurrentPrice * OrderItem.Quantity) AS Gesamt, SUM (Total) VON BESTELLUNG INNER JOIN Produkt AS P ON Bestell-Nr .ProductID = P.ID GROUP BY OrderID, OrderItem.ID, ProductID, Menge, P.Title, P.CurrentPrice, P.ID funktioniert nicht, gibt alle Datensätze aus und SUM (Total) = Gesamt –

+0

Ich versuche es in MS Access zu verwenden Abfrage mit Quelle von einer anderen Abfrage, und es funktioniert SELECT OrderID, SUM (MainQuery.Total) FROM Hauptquery GROUP BY OrderID Aber ich brauche Delphi und nur SQL-Abfrage verwenden. –

Antwort

3

Sie könnten ein ausgewähltes Formular wählen und Gruppe von

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

Vielen Dank. Wie kann ich diese Abfrage mit SELECT O.ID, C.SecondName, E.SecondName, O.DateOf, O.ClientID, O.EmployeeID, O.Desc FROM ((Client AS C INNER JOIN [BESTELLEN] AS O ON C.ID = O.ClientID) INNER JOIN Mitarbeiter AS E ON E.ID = O.EmployeeID) INNER JOIN Produkt AS P ON P.ID = O.ProductID; für Gesamtfeld in der Tabelle der Bestellung? –

+0

Ihr Kommentar scheint eine neue Frage ... Sie sollten eine neue gut dokumentierte Frage posten .. ist schwierig zu verstehen, Sie Ziel auf den Code in Kommentar .. sowieso wenn asnwer ich rechts bitte markieren Sie es als akzeptiert und schließlich kommentieren Sie mich die neue link – scaisEdge

+0

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

0

Ich bin zu SQL nur neu benutzen, aber ich denke, das ist die Lösung.

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 

Hoffe, dass dies hilft.