Как получить всех дочерних узлов узла в древовидной структуре? SQL-запрос?

таблица - пользовательские

столбцы - (userId, name, managerId)

строки -

(1,nilesh,0)
(2,nikhil,1)    
(3,nitin ,2)  
(4,Ruchi,2)

, если я даю идентификатор пользователя, он должен перечислить всех сообщающих ему людей. если я дам userId = 2, он должен вернуть 3,4.

Правильный ли этот запрос

SELECT ad3.userId
FROM user au , user  au2 , user  au3
WHERE 
    ad.managerId = ad2.managerId AND 
    ad3.managerId = ad2.userId AND
    ad.userId=2

Есть ли эффективный способ управления древовидной структурой в БД? Как насчет правого и левого листового пути?

6
задан Neel Salpe 8 June 2011 в 06:33
поделиться