# Baumstruktur ohne Nested-Sets auslesen



## chris_sit (19. Dezember 2006)

Hallo zusammen,

ich habe ein kleines Problem, bei dem ich bisher nicht so recht weiter weis:

Folgende Struktur habe ich in der DB:

id | parent | title | ....

Daran lässt sich leider auch nichts ändern, muss mich also mit dem Problem irgendwie rumschlagen:

Nested Sets / Modified Tree Traversal fallen wegen der "verkorksten" Struktur ja aus - bleibt noch ein rekursiver Aufruf in MySQL (müsste mit 5.0 doch funktionieren, oder?) oder ich schiebe mehrere Queries durch ein PHP-Skript, die mir dann auch die gewünschten Daten liefern - aber kann das performanter sein als ein Rekursiver-MySQL Aufruf - doch wohl kaum?!

Wäre für ein paar Meinungen dankbar!

-chris


----------



## zeja (21. Dezember 2006)

Fragt sich nur wie du das rekursiv hinbekommen willst. Nachdem auch SQL auf der Relationenalgebra basiert und in dieser eben eine transitive Hülle (wie du sie hast) nicht berechenbar ist, kann das meiner Meinung nach nicht klappen.

Mit PHP Anfragen solltest du aber ganz gut hinkommen.


----------



## Exceptionfault (21. Dezember 2006)

Transitive Hülle hin oder her ;-), Oracle kann z.B. folgendes rekursives SQL Statement:


```
SELECT  *
FROM    myTABLE
START   WITH ID = 0
CONNECT BY PRIOR PARENT = ID
ORDER   SIBLINGS BY TITLE
```

Ob sowas auch in mySQL funktioniert würde mich auch interessieren.


----------



## chris_sit (21. Dezember 2006)

danke für das Feedback.

Hab auch eine Menge Bsp zu Oracle gefunden, da ist das scheinbar weit verbreitet.. zu (my)SQL immer nur ein "wird nicht empfohlen" hehe.. 

Habe es mittlerweile per PHP gelöst, müsste aber mal meine Literatur zu SQL-Datenbanken von der Uni auskramen, ob da was zu rekursiven DB-Abfragen steht.


----------

