muwnd
27-03-2007, 20:09
Hallo,
ich habe da ein Problem mit MySQL.. genauer gesagt geht es um folgendes:
Tabellen `kategorien`:
- id
- parent ( für über geordnete Tabellen, bei Hauptkategorie = 0 )
Tabellen `bilder`:
- id
- kat ( für kategorie id )
In der ersten Tabelle sind Kategorien gespeichert, dabei sind auch Unterkategorien möchten ( parent ). In der zweiten Tabelle sind Bildinfos (ua. die passende Kategorie ) gespeichert.
Ich möchte jetzt mit einem Query Daten für eine Übersicht auslesen. Und zwar in dieser Form:
Kategorie XY
- Unterkategorien XY
- Bilder XY
Kategorie XY2
(...)
Mit der Anzahl der Unterkategorien klappt das auch bloß mit den Bildern nicht so recht. Mein akueller Query:
SELECT a.id, a.name, COUNT(b.id) as unterkategorien, COUNT(c.id) as bilder
FROM kategorien as a
LEFT JOIN kategorien as b
ON b.parent=a.id
LEFT JOIN bilder as c
ON c.kat=b.id OR c.kat=a.id
WHERE a.parent=0
GROUP BY a.id
Ich hoffe mein Problem ist verständlich und mir kann jemand helfen :)
ich habe da ein Problem mit MySQL.. genauer gesagt geht es um folgendes:
Tabellen `kategorien`:
- id
- parent ( für über geordnete Tabellen, bei Hauptkategorie = 0 )
Tabellen `bilder`:
- id
- kat ( für kategorie id )
In der ersten Tabelle sind Kategorien gespeichert, dabei sind auch Unterkategorien möchten ( parent ). In der zweiten Tabelle sind Bildinfos (ua. die passende Kategorie ) gespeichert.
Ich möchte jetzt mit einem Query Daten für eine Übersicht auslesen. Und zwar in dieser Form:
Kategorie XY
- Unterkategorien XY
- Bilder XY
Kategorie XY2
(...)
Mit der Anzahl der Unterkategorien klappt das auch bloß mit den Bildern nicht so recht. Mein akueller Query:
SELECT a.id, a.name, COUNT(b.id) as unterkategorien, COUNT(c.id) as bilder
FROM kategorien as a
LEFT JOIN kategorien as b
ON b.parent=a.id
LEFT JOIN bilder as c
ON c.kat=b.id OR c.kat=a.id
WHERE a.parent=0
GROUP BY a.id
Ich hoffe mein Problem ist verständlich und mir kann jemand helfen :)

