# MySQL: Kategorien mit allen Unterkategorien abrufen



## tvtotal (4. September 2014)

Guten Morgen,

ich habe eine Tabelle "kategorien":

```
ID | ACTIVE | PARENTID|  NAME  | DESC
+--+--------+---------+--------+------+
1  |    1   |     0   |  Kat1  | E...
+--+--------+---------+--------+------+
2  |    1   |     1   |  Sub1  | G...
+--+--------+---------+--------+------+
```

Die Hauptkategorien haben die parentid = 0 und die Unterkategorien haben als parentid jeweils eine id. Ich möchte nun alle Hauptkategorien mit Unterkategorien abrufen. Mein Problem dabei ist, dass die Unterkategorien weitere Unterkategorien haben können.

Die Ausgabe soll dann in PHP erfolgen und die Kategorien jeweils mit Unterkategorien ausgeben.

Für eine Lösung wäre ich echt dankbar.

Grüße tvtotal


----------



## Yaslaw (4. September 2014)

Viel Spass mit dem Adjacency-Tree.
Ich habe mich vor einiger Zeit mal damit herumgeschlagen und meine Lösungen in meinem Wiki dokumentiert.
http://wiki.yaslaw.info/dokuwiki/doku.php/mysql/adjacencytree/index


----------



## BaseBallBatBoy (4. September 2014)

```
--Zeige die Hauptkategorien welche min eine Unterkategorie haben
SELECT
  k.id
FROM
  kategorien k
WHERE
  k.parentid = 0 --Hauptkategorie
  AND
  k.id IN (SELECT parentid FROM kategorien) --hat Unterkategorie
;
```


----------

