Hallo,
ich habe ein Problem mit einer Abfrage bzw. weis nicht ob das was ich mir wünsche überhaupt möglich ist. Ich beschreibe mal ein vereinfachtes Beispiel:
Es gibt 3 Tabellen:
produkte
id
name
hersteller_id
kategorien
id
name
produkte2kategorien
produkt_id
kategorie_id
Die Tabelle "produkte" ist über die Tabelle "produkte2kategorien" n-n mit der Tabelle "kategorien" verknüpft.
Ich suche nun eine Möglichkeit in einem Query alle Kategorien zu ermitteln mit der Anzahl der zugehörigen Produkte und Hersteller. Nur eines davon wäre ohne Probleme mit einem LEFT JOIN zu bewerkstelligen. Wie macht man das aber in diesem Fall?
Als Beispiel mein Ansatz wie ich alle Kategorien und die Anzahl der Produkte ermittle:
Nun bräuchte ich noch ein zweites COUNT() über die Anzahl der Hersteller. Ist das möglich oder muss ich hier zwei Queries absetzen?
Das Ganze muss leider auf einem MySQL-Server 4.0 laufen, somit sind Subqueries nicht möglich.
Bin für jeden Hinweis dankbar.
Danke,
MF
ich habe ein Problem mit einer Abfrage bzw. weis nicht ob das was ich mir wünsche überhaupt möglich ist. Ich beschreibe mal ein vereinfachtes Beispiel:
Es gibt 3 Tabellen:
produkte
id
name
hersteller_id
kategorien
id
name
produkte2kategorien
produkt_id
kategorie_id
Die Tabelle "produkte" ist über die Tabelle "produkte2kategorien" n-n mit der Tabelle "kategorien" verknüpft.
Ich suche nun eine Möglichkeit in einem Query alle Kategorien zu ermitteln mit der Anzahl der zugehörigen Produkte und Hersteller. Nur eines davon wäre ohne Probleme mit einem LEFT JOIN zu bewerkstelligen. Wie macht man das aber in diesem Fall?
Als Beispiel mein Ansatz wie ich alle Kategorien und die Anzahl der Produkte ermittle:
Code:
SELECT kategorien.name AS kategorie, COUNT(products_prodtypes.product_id) AS anzahl_produkte FROM kategorien LEFT JOIN produkte2kategorien ON (produkte2kategorien.kategorie_id = kategorien.id) GROUP BY kategorie.id ORDER BY kategorien.name
Das Ganze muss leider auf einem MySQL-Server 4.0 laufen, somit sind Subqueries nicht möglich.
Bin für jeden Hinweis dankbar.
Danke,
MF
Comment