MySQL Abfrage für einen Webshop
-
Hallo, ich habe eine Frage bezüglich einer Query.
Ich habe drei Tabellen.
∞ artikel
∞ oberpunkte
∞ unterpunkteIch möchte in HTML einen Block ausgeben der so aussieht:
----------------------- + Textilbäume (5) + ----------------------- + Bambus (10) + + Buchsbaum (8) + + Palmen (6) + + Sonstige Bäume (20) + ----------------------- Abstrakt: -------------------------------------------------------------- + Name Oberpunkt (Anzahl Unterpunkte) + -------------------------------------------------------------- + Name 1. Unterpunkt (Artikel die zum 1. Unterpunkt gehören) + + Name 2. Unterpunkt (Artikel die zum 2. Unterpunkt gehören) + + Name 3. Unterpunkt (Artikel die zum 3. Unterpunkt gehören) + + Name 4. Unterpunkt (Artikel die zum 4. Unterpunkt gehören) + --------------------------------------------------------------
In der Tabelle oberpunkte habe ich folgendes:
id, op_name
Beispiel: 1, TextilbäumeIn der Tabelle unterpunkte habe ich folgendes:
id, teil_von, up_name
Beispiel: 1, 1, Bambus
Anmerkung: teil_von ist der fremdschlüssel der tabelle oberpunkte und gibt an zu welchem Oberpunkt dieser Unterpunkt gehört.In der Tabelle artikel habe ich einen wert kat_id.
Dieser Wert ist der Fremdschlüssel von unterpunkte.
Beispielsweise tragen alle Artikel die ein Bambus sind, die kat_id 1.Jetzt meine Frage:
Gibt es eine Möglichkeit einen Query aufzubauen, der mir folgende Werte gibt, zu machen:Name Oberpunkt, Anzahl unterpunkte.
Liste der Oberpunkte mit Anzahl aller artikel je unterpunkt.Danke im Voraus
-
Versuch es mal so irgendwie (ungetestet):
SELECT unterpunkte.up_name, COUNT(*) FROM unterpunkte LEFT JOIN artikel ON unterpunkte.id = artikel.kat_id GROUP BY unterpunkte.id;
-
Wow danke Flenders!
Läuft wie geschmiert.