2016-04-11 21 views
1

Abfrage muss einen Kunden namens Yossi Cohen, der eine Reihe von Artikeln und den Betrag in Rechnung gestellt (Summe) Kauf kaufen Zum Beispiel: Yossi Cohen kaufte drei Artikel kostet 40 Schekel und wir wollen kenne die Menge der Bestellung.Suche Summe der Sub-Abfrage

Beispiel:

namecustomer namemodel quantity sum 
Yossi Cohen iphone6  3  120 

Ich versuche, dies zu schreiben: (nicht funktioniert)

SELECT nameCustomer, 
    (SELECT idCustomer,nameCustomer,nameModel,idOrders,Quantity, 
    SUM(price*Quantity)AS OrderTotal 
    FROM Customers,OrdersItems,Products GROUP BY idOrders) 
FROM Customer 
where Customer = 'Yossi Cohen'; 
+0

ich hier nicht testen können, aber eine erste Spitze : Sie möchten zunächst nach Kunden auswählen (filtern) und dann summieren. Andersherum ist zu zeitaufwendig –

+0

Die Tatsache, dass Ihre Unterabfrage implizite Joins verwendet (was Sie nicht sollten), ohne Kriterien in der Where-Klausel zu verbinden, wird ... ein Problem sein. Auch ich bin nicht überzeugt, dass Sie eine Unterabfrage benötigen –

Antwort

0

Dies sollte die Arbeit machen:

SELECT idCustomer,nameCustomer,nameModel,idOrders,Quantity 
From Customer 
Where sum=price*Quantity 
AND Customer = 'Yossi Cohen';