Problem bei mySQÖ DB Abfrage

E

encom

Hallo, ich habe eine Datenbank die wie folgt aufgebaut ist

Code:
id,   kat_id,    kat_name,          url
1       0          Foren               
2       0          Diverse
3       2          Enricos Page       www.ensacom.de
4       1          spotlight             www.spotlight.de
5       2          andere Page       www.anotherpage.de
6       2          microsoft             www.microsoft.de


Jetzt lese ich alle kat_namen aus die kat_id = 0 sind
Wie kann ich gleichzeitig auch die Anzahl der Artikel in den Kategorien ausgeben?

Also das es dann so aussieht

Code:
Foren       1
Diverse    3


Danke schon mal
 
Hi!

Mich hat die Differenz Deiner Tabelle zur gewünschten Ausgabe ein wenig verwirrt, denn nach Tabelle ist "Diverse" ebenfalls 1, oder?

SELECT kat_name, COUNT(*) AS kat_count FROM mysql_db WHERE kat_id=0 GROUP BY kat_name;

Sollte es dann sein, hoffe ich ;-)
 
Nein, das geht nicht,

also wenn kat_id = 0 dann ist es eine Oberkategorie,

in meinem Bsp hat Foren die id 2 und als kat_id die 0

alles was nun als kat_id auch die 2 hat (id der Oberkategorie Foren) gehört zur Oberkategorie Foren

es ist also immer die Kat_id die größer als 0 ist mit der id verknüpft die den selben Wert hat.

Ich will nun die Oberkategorien ausgeben und dahinter stehen haben wieviele Links in den jeweiligen Oberkategorien stehen

Ich hoffe es kann nun einer helfen

Danke
 
Okay, nocheiner:

SELECT t1.kat_name, COUNT(*) AS kat_count FROM mysql_db AS t1 LEFT JOIN mysql_db AS t2 ON (t1.id=t2.kat_id) WHERE t1.kat_id=0 GROUP BY (t1.id);

?
 

Neue Beiträge

Zurück