Re: Recursive select
От | knut.suebert@web.de |
---|---|
Тема | Re: Recursive select |
Дата | |
Msg-id | 20011104180306.A2309@cascal.vtb обсуждение исходный текст |
Ответ на | Re: Recursive select (71062.1056@compuserve.com (--CELKO--)) |
Список | pgsql-sql |
--CELKO-- schrieb: > Another way of representing trees is to show them as nested sets. Good evening, that's what I needed! To limit the result to entries below one node, I'd use something like SELECT P1.lft, COUNT(P2.emp) AS indentation, P1.emp FROM Personnel AS P1, Personnel AS P2 WHERE P1.lft BETWEEN P2.lftAND P2.rgt AND p1.lft>(SELECT lft FROM personnel WHERE emp='Chuck') AND p1.rgt<(SELECT rgt FROM personnel WHEREemp='Chuck') GROUP BY P1.emp, p1.lft ORDER BY P1.lft; lft | indentation | emp -----+-------------+------------ 5 | 3 | Donna 7 | 3 | Eddie 9 | 3 | Fred (3 rows) for emp='Albert' it returns lft | indentation | emp -----+-------------+------------ 2 | 2 | Bert 4 | 2 | Chuck 5 | 3 | Donna 7 | 3 | Eddie 9 | 3 | Fred (5 rows) My question is, how to limit this result to (Albert's indentation)+1? Thanks, Knut Sübert
В списке pgsql-sql по дате отправления: