Ich habe ein Problem it einer DB die ich reverse engineere.
Szenario:
Wir haben eine Baumstruktur in eine DB mit im bsp 2 Tabellen gefüllt.
Ich möchte nun in meinem BSP von der Wurzel alle Kinder bekommen.... (Später dann der weg retour)
Jemand eine Idee wie ich das intelligent schreiben kann?
Ich hoffe das Bsp mag verdeutlichen was mein Problem ist.
Ich müsste ja weil ich die Baumtiefe nie kenne und die zb auch 50 sein kann zig mal durch TEXT_TABLE tX und LINK_TABLE lX durch joinen was weder performant noch die Lösung sein kann....
Plus sieht die "Lösung" natürlich nicht aus wie ich mir das wünschen würde.
Szenario:
Wir haben eine Baumstruktur in eine DB mit im bsp 2 Tabellen gefüllt.
Ich möchte nun in meinem BSP von der Wurzel alle Kinder bekommen.... (Später dann der weg retour)
Jemand eine Idee wie ich das intelligent schreiben kann?
Code:
----------- TEXT_TABLE ------------
ID LINK NAME TEXT
1 1 Theodor GROSSVATER
2 2 Martha MUTTER
3 2 Kurt VATER
4 Hannes KIND
----------- LINK_TABLE ------------
ID LINK BELONGTO
1 1 Martha
2 1 Kurt
3 2 Hannes
4
Select t.NAME, l.BELONGTO
from TEXT_TABLE t
JOIN LINK_TABLE l on t.ID = l.id
where t.name = 'Theodor'
Resultat:
Theodor Martha
Theodor Kurt
Select t.NAME, l.BELONGTO, l2.BELONGTO
from TEXT_TABLE t
JOIN LINK_TABLE l on t.ID = l.id
JOIN TEXT_TABLE t2 on t2.NAME = l.BELONGTO
JOIN LINK_TABLE l2 on t2.ID = l2.id
where t.name = 'Theodor'
Resultat:
Theodor Martha Hannes
Theodor Kurt Hannes
Ich hoffe das Bsp mag verdeutlichen was mein Problem ist.
Ich müsste ja weil ich die Baumtiefe nie kenne und die zb auch 50 sein kann zig mal durch TEXT_TABLE tX und LINK_TABLE lX durch joinen was weder performant noch die Lösung sein kann....