Frank (no reg): Navi anzeigen lassen mit einer SQL Query

Beitrag lesen

Hallo,

Jedoch möchte ich in einer Baumstruktur nur einzelne unterordner und nur bis zu einer bestimten Tiefe auslesen lassen. Wenn ich nun zB folgende Struktur habe: ...

Ist das mit einer Abfrage möglich? SQL Tabelle wäre so aufgebaut:

Wenn dein Datenbanksystem (korrelierende) Unterabfragen (subqueries/subselects) unterstützt, ja.

Du solltest zuerst die "Tiefe" der einzelnen Nodes feststellen, dann kannst du darauf eine WHERE Einschränkung aufbauen. (z.b. SELECT * FROM Tree WHERE Depth < 2)

Die Tiefe der Nodes in einem Nested Set bekommst du, in dem du die Anzahl der eindeutigen Parent-Nodes herausfindest. Die Beziehung von Child zu Parent ist: Left und Right eines Child-Nodes liegen immer zwischen Left und Right eines Parent Nodes

Broccoli in deinem Beispiel hat 3 und 4. 3 und 4 liegen innerhalb von 2 und 7 und 1 und 16 aber nicht innerhalb 9 und 10 oder 8 und 13. Also hat Broccoli eine Tiefe (oder Level) von 2.

Das SQL Dazu kannst du sicherlich selbst zusammenbauen, n bisschen JOIN, GROUP BY, COUNT und BETWEEN ...

Ciao, Frank