Ich habe es jetzt mal mit Nested versucht, danke erstmal für den Tipp. Aber ich denke ich habe da einen Wurm drin. Denn die Abfrage dauert doch sehr lange. Es sind 1400 Datensätze und die Abfrage dauert 5 Sekunden.
Um es einfach zu sagen, ich denke ich habe einen Knoten in der Abfrage.
SELECT
n.id,
n.name,
COUNT(*)-1 AS ebene
FROM
kategorien AS n,
kategorien AS p
WHERE
n.lft BETWEEN p.lft
AND
p.rgt
GROUP BY n.lft
HAVING ebene=1
ORDER BY n.lft