fanatiker: MySQL: Zählt es falsch?

Beitrag lesen

Hallo,

jedenfalls so ähnlich.

Mit viel gefrickel habe ich einen funktionierenden SQL bekommen:

  
SELECT  
	c.id, c.name,  
	count(a.ID) ac,  
	sum(anzahlBilder) pc  
FROM gal_cats c  
LEFT JOIN gal_albums a ON c.ID=a.cat_id  
	LEFT JOIN (SELECT a2.id, count(a2.ID) as anzahlBilder  
			FROM gal_albums a2  
			INNER JOIN gal_pics p ON p.album_id=a2.ID  
			GROUP BY a2.id) sub  
	ON sub.id = a.id  
GROUP BY c.id  

Wichtig ist das INNER JOIN im sub. Ansonsten bekommt man für jede Kategorie "1" Bild, obwohl keins existiert.

Wenn jemand noch Anmerkungen/Verbesserungsvorschläge hat - ich bin offen für alles.

Vielen Dank Encoder!
fanatiker