Tim: mySQL 5: Schleife in SQL-Query? oder "rekursive Abfrage"?

Beitrag lesen

Hallo Forum,

ich wende mich an euch, weil ich folgendes Problem habe: Ich habe in einer Tabelle hierachisch organisierte Einträge, etwa so:

------------------------------
| id |    name    |  parent  |

| 1  | Toplevel   |    0     |
------------------------------
| 2  | Ebene 2    |    1     |
------------------------------
| 3  | Ebene 2a   |    1     |
------------------------------
| 4  | Ebene 3    |    2     |
------------------------------
| 5  | Ebene 4    |    4     |
------------------------------

Ich möchte jetzt, mit einem SQL-Query beispielsweise die Ebene 4 selektieren, aber _gleichzeitig_ in diesem Query alle übergeordneten Einträge haben. Also wären das für Ebene 4 -> Ebene 3 -> Ebene 2 -> Toplevel.

Das ginge jetzt entweder mit Joins oder einer Schleife in PHP. Beides ist aber entweder unflexibel oder langsam. Problem ist, dass ich nie weiß, wieviele Ebenen es geben wird, die Anzahl an JOIN-Queries also steigen kann und ich weiß nicht, wie hoch.

Gibt es die Möglichkeit eine Art rekursive Abfrage mit Joins zu machen? Oder in SQL eine Schleife einzubauen?

Ich hoffe, dass mir jemand helfen kann!

Einen schönen Tag!
Tim