phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?sql_-_statement_|_nested_set_b=E4ume?=

[php] sql - statement | nested set bäume

Tobias Nix php_(at)_phpcenter.de
Fri, 20 Apr 2001 11:59:00 +0200


Hallo Liste,

ich habe eine Baumstruktur in einer Mysql Datenbank, die nach diesem
Nesetd Set Model aufgebaut ist. der unterschied liegt jetzt darin, das ich
mehrere Bäume in einer Tabelle ablegen möchte. Das sieht dann wie
folgt aus:

ID LEFT RIGHT  PARENT  NAME
1        1       6           1            Thema 1
2        2       3           1            Thema 1.1
3        2       5           4            Thema 2.1
4        1       6           4            Thema 2
5        3       4           4            Thema 2.1.1
6        4       5           1            Thema 1.2

Mit folgendem Select bekomme ich auch alles wieder wunderbar sortiert
aus der Tabelle raus.

SELECT *, count(*) AS level
FROM tree AS a, tree AS b
WHERE b.l BETWEEN a.l AND a.r AND
      b.r BETWEEN a.l AND a.r AND
      a.id = b.parent
GROUP BY b.id ORDER BY b.parent,b.l

Nur leider fehlen die Level.
Jetzt dachte ich daran, das a.id = b.parent ind die GROUP BY ecke mit
HAVING reinzuschreiben. Aus irgendeinem Grund funktioniert dies nicht
und ich bekomme eine Fehlermeldung.

Kann mir jemand einen Tip geben oder einen weiterführenden Link ?

Gruss,
Tobias



php::bar PHP Wiki   -   Listenarchive