Peter Thomassen: Baumstruktur in einem Statement abgrasen

Beitrag lesen

Hallo Ilja,

erstmal danke für deine Antwort.

Angenommen, ich bekomme nun den Input 4 und möchte diese Eigenschaft des Stammesvaters :-) herausfinden. Geht das irgendwie mit einem SQL-Statement?

das sind rekursive konstrukte und sollten im daten-design vermieden werden, werden aber oft eingesetzt. soviel zur theorie und praxis.

Wie könnte man diese Konstrukte vermeiden?

was deine abfrage betrifft, ja es geht über einen Selfjoin.

SELECT tab1.*, tab2.*
FROM tabelle AS tab1
LEFT JOIN tabelle AS tab2
ON (tab1.id = tab2.parent_id)
WHERE tab1.id = 4

Hm, entweder ich versteh's falsch, oder diese Abfrage bezieht sich nur auf eine Vater-Sohn-Generation. Das Problem ist, dass ich nicht im Voraus weiß, wieviele das jeweils sind.

Bye,
Peter