# SQL Rekursion



## Don_Pazo (16. Februar 2007)

Hallo,
ich habe eine MySQL Datenbank mit folgende Tabellen:

*-------------------------
ORDNER | ELTERN | KIND
-------------------------
root......| NULL ... | 1
a_1.......| 1  ....... | 2
a_2.......| 1  ....... | 3
a_3.......| 1  ....... | 4
b_1.......| 2  ....... | 5
b_2.......| 2  ....... | 6
b_3.......| 2  ....... | 7
c_1.......| 4  ....... | 8
d_1.......| 3  ....... | 55
d_2.......| 3  ....... | 122*



Es siet ungeführ so aus:

root_
...... | - a_1 _
.................. | - b_1
.................. | - b_2
.................. | - b_3

...... | - a_2 _
.................. | - d_1
.................. | - d_2
............................................ _// also hier können mehrere Unterordner kommen, oder Unter - Unterordner und soweiter._

...... | - a_3 _
.................. | - c_1


*Wie kann ich eine Rekursive SQL-Abfrage aufbauen, damit man für einen Ordner (z.B a_2) alle Unterordner  bekommt?*  

  Es können aber beliebig viele  unter - unter Ordner in d_1 und d_2 ect. sein. Also die Verschachtelung ist nicht vorhersehbar!


----------



## Nico Graichen (16. Februar 2007)

Mit SQL an sich ist das nicht möglich. Du müsstest diese Abfrage über die Programmier- / Skriptsprache machen, um den Baum aufzubauen.


----------



## Thomas Darimont (16. Februar 2007)

Hallo,

das ist etwas komplizierter... schau mal hier:
http://www.nuff-respec.com/technology/sorting-a-modified-preorder-tree-traversal-mysql

Gruß Tom


----------

