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