Aber ich bekomme es immernoch nicht hin.
Wiel ich finde überall nur COUNT(*)-1 as level
Aber nirgendwo als Sub-Select
Nein, als Join. Ist doch nicht so schlimm, oder?
und nirgendwo in der Where Klausel.
Vielleicht, weil diese Beispiele nicht diejenigen Sets mit einem bestimmten Level abfragen wollen, sondern alle (und nur deren Level dabei bestimmen).
Könntest du mir die Abfrage schreiben? Ich werde sie nicht einfach nur übernehmen aber ich würde es dann einfach verstehen.
Im von Dir verlinkten Artikel steht eine Beispielabfrage:
SELECT n.name,
COUNT(*)-1 AS level
FROM tree AS n,
tree AS p
WHERE n.lft BETWEEN p.lft AND p.rgt
GROUP BY n.lft
ORDER BY n.lft;
Alles, was Du an einem Beispiel von mir verstehen wuerdest, kannst Du auch da verstehen. Als Hinweis: n liefert jeweils den Knoten, der abgefragt wird, p einen uebergeordneten - die muessen gezaehlt werden.
Mir brennt der Kopf und ich würde es gerne heute noch fertig kriegen.
Das ist jetzt nicht boes gemeint, aber gib Dir lieber etwas mehr zeit, um Joins, GROUP BY-Klauseln und das Konzept von Nested Sets *vernuenftig* zu verstehen. "Heute noch" ist da ziemlich knapp bemessen, das macht sich nicht im Vorbeigehen - jedenfalls nicht mit brennendem Kopf.
Viele Gruesse,
der Bademeister