Drucken der Struktur mit SQL CTE

8

Das Schema ist wie folgt:

%Vor%

Gegenwärtig kann ich mit dem folgenden CTE alle logischen Daten herausholen, aber ich möchte es direkt in einer Tiefe zuerst direkt drucken.

%Vor%

Die Ausgabe ist wie folgt (hier abgeschnitten):

%Vor%

Wie Sie sehen, ist das Ergebnis "Breite zuerst", was das Drucken eines Baumes irgendwie unmöglich macht, wie es jetzt ist.

Gibt es einen Weg (es gibt wahrscheinlich einen trivialen Weg, aber meine SQL-Fähigkeiten sind extrem schlecht), um die resultierende Liste im 'baumdruckfreundlichen' Format zu erhalten?

Ich weiß, ich könnte die Ergebnisse einfach in ein Programm schreiben und die Ausgabe codieren, aber als Übung würde ich das lieber in SQL selbst machen.

Danke

    
leppie 27.10.2010, 10:26
quelle

1 Antwort

10

Nach dem Kommentar bearbeitet. Sie könnten den Pfad zu einem Knoten hinzufügen und an dieser Stelle bestellen:

%Vor%

Dies druckt zuerst die Wurzel, gefolgt von Blättern in der Reihenfolge. Wenn Ihre ID größer als 12 Ziffern sein kann, erhöhen Sie die Anzahl in den char(x) -Casts.

    
Andomar 27.10.2010, 10:31
quelle

Tags und Links