909 Aufrufe
Gefragt in Webseiten HTML von
Hallo,

in der Tabelle A sind Produktpreise und Versandkosten gespeichert. In der Tabelle B sind Kunden gespeichert die einen bestimmten Artikel bestellt haben.

Aufgabe ist folgende: Eine SQL-Abfrage soll den höchsten Versandkostensatz ausgeben und das Gesamtbestellvolumen aller Kunden.

Tabelle A sieht z.B. so aus:
ID | Preis | Versandkosten
1 | 0.50 | 0.75
2 | 0.20 | 0.50
3 | 0.75 | 0.75

Tabelle B sieht so aus:
ID | ID_des_bestellten_Artikel
1 | 1
2 | 1
3 | 2

Meine Abfrage sieht wie folgt aus:
SELECT MAX(A.Versandkosten) AS Versand, SUM(A.Preis) AS Gesamtsumme FROM A, B WHERE A.ID = B. ID_des_bestellten_Artikel

Die Ausgabe von Versand ist gleich 0.75 <-- also korrekt
Die Ausgabe von Gesamtsumme ist gleich 0.70, korrekt wäre jedoch 1.20

Bringt mich doch bitte auf den richtigen Weg. Wie erreiche ich, dass er wirklich das Gesamtbestellvolumen anzeigt und mehrfach bestellte Artikel auch richtig berücksichtigt?

1 Antwort

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Dein Statement ist vollkommen korrekt. Habe die Tabellen exakt wie hier angegeben erzeugt und dein Statement ebenfalls exakt übernommen und bin zu der Ergebnismenge Versand=0.75 und Gesamtsumme=1.20 gekommen. Alles fehlerfrei.

Aber du sprichst von mehreren Kunden - diese tauchen in obigem Problem gar nicht auf. In diesem Fall gehen wir immer nur von einem einzigen Kunden aus.
...