Ahoi!
Ich habe hier eine Tabelle der Struktur (ID, Text, ParentID).
Ich möchte jetzt gerne in einem Select ein Feld zusammen setzen, dass alle "Text" hintereinander enthält bis ein ParentID=NULL erreicht ist, und zwar beginnend mit dem letzten Parent. Folgende hypothetische Tabelle:
Code:
ID Text ParentID
----------------------------
0 "Hallo" NULL
1 "Satz" 2
2 "ein" 4
3 "ich" 0
4 "bin" 3
Dann brauche ich in meiner Ergebnismenge einen Datensatz
Code:
ID Text
-----------------------------
1 "Hallo ich bin ein Satz"
Die Ergebnismenge besteht dabei jedoch nicht nur aus einem einzelnen Datensatz, sondern derer Kaskaden können in der Basistabelle mehrfach sein, und auch unterschiedlich tief.
Es gibt mehr Felder als nur diese drei, und die anderen Felder sollen die Werte des gerade aufgelösten Datensatzes beibehalten. Es soll zudem jeder Datensatz aufgelöst werden. Beispiel:
Code:
ID Text ParentID Info
-----------------------------------------
0 "Firma A" NULL "foo"
1 "Firma B" NULL "bar"
2 "Abteilung X" 0 "xxx"
3 "Werk 1" 1 "werk"
4 "Abteilung Y" 3 "yyy"
|
|
v
Code:
ID Text Info
-------------------------------------------
0 "Firma A" "foo"
1 "Firma B" "bar"
2 "Firma A Abteilung X" "xxx"
3 "Firma B Werk 1" "werk"
4 "Firma B Werk 1 Abteilung Y" "yyy"
Wie kann ich dieses beim selecten mit
SQL am besten erreichen?
Besten Dank im Voraus,
Medium
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)