MySQL Verständnisfrage
Dieter
- datenbank
- mysql
Ich stehe vor einem kleinem Verständnisproblem und hoffe auf eure Tips:
Die Datenbank besteht u.a. aus zwei Tabellen, die eine beinhalt Kategorien, die andere Produkte. Innerhalb der Produkttabelle verweist ein Eintrag (kategorie_id) auf die Kategorie die diesem Produkt zugeordnet ist.
Mein Problem ist nun, das ich die Kategorien in der Reihenfolge der Summe der darin enthaltenen Produktepreise ausgeben möchte...
Vom Prinzip her also: SELECT kategorienname FROM kategorien ORDER BY (SELECT SUM(artiklpreis) FROM produkte GROUP BY kategorie_id)
Natürlich funktioniert das nicht, weil ich keine Beziehung zu der Kategorie habe...
Also meine Frage an euch: Wie kann man das elegant per SQL lösen?
Hallo Dieter,
Also meine Frage an euch: Wie kann man das elegant per SQL lösen?
Mit einem JOIN
:
SELECT
kategorienname, SUM(artikelpreis)
FROM
kategorien
LEFT JOIN produkte ON
produkte.kategorie_id = kategorien.kategorie_id
GROUP BY kategorie_id, kategoriename
ORDER BY SUM(artikelpreis)
LG,
CK
Hallo ck,
vielen Dank! Eigentlich logisch, aber ich kam wirklich nicht drauf.
VG Dieter