Ich versteh zwar nicht um was es geht, aber so in etwa würds ich machen:
SQL-Code:
SELECT n.id, n.bez, n.lft, n.rgt, count(*)-1+(n.lft>1) AS level
FROM conf n, conf p
WHERE n.lft BETWEEN p.lft AND p.rgt AND (p.id != n.id OR n.lft = 1)
and((select (count(*)-1+(n2.lft>1)) from conf n2)= X )
GROUP BY n.id
ORDER BY n.lft
//Edit: ungetestet
//Edit2: kannst du sagen um was es geht? Vllt geht das komplett einfacher
(*Stift Ende*)