Wieder Problem mit Join

E

encom

Hallo, ich habe eine mySQL-DB-Tabelle mit id, kat_id, name, link

Jetzt will ich alle Namen ausgeben die die kat_id 0 haben. geht auch.
nun will ich hinter jedem Namen noch die Anzahl der Einträge stehen haben, die als kat_id die id der Einträge haben die eben ausgelesen wurden.

geht auch, nur das dort wo es keinen Eintrag gibt auch eine 1 angezeigt wird, da sollte aber eine 0 oder garnichts stehen.

Code:
id  kat_id    name   
1     0       Home 
2     0       Produkte 
3     0       Dienstleistungen 
4     0       Unsere Partner 
5     0       online Shop 
6     0       Wir über uns 
7     0       Techniken Galerie 
8     0       Tipps und Tricks 
9     2       Farben 
10    2       Tapeten


Code:
SELECT t1.id, t1.name, COUNT(*) AS MENGE 
FROM menu AS t1 LEFT JOIN
menu AS t2 ON (t1.id=t2.kat_id) 
WHERE t1.kat_id=0 GROUP BY (t1.id)

sollte zum Schluss so aussehen
Code:
Home        0 
Produkte      2
Dienstleistungen    0
Unsere Partner       0
online Shop             0
Wir über uns            0
Techniken Galerie  0
Tipps und Tricks     0


Danke
 
Code:
SELECT tx.id, tx.name, COUNT( t2.kat_id ) AS MENGE
FROM menu AS tx
LEFT JOIN menu AS t2 ON ( tx.id = t2.kat_id ) 
WHERE tx.alt = 0 AND tx.id <> tx.kat_id
GROUP BY (
tx.id
)

gugg mal , so sollte es gehen, du countest alles , und wenn ein Satz zurück kommt dann countest du den auch mit und bekommst die 1 zurück. Du willst ja aber nur die kat_id zurück haben im count.
 
Zurück