Рекурсивные только двухуровневые записи, использующие общий SQL - PullRequest
0 голосов
/ 03 июня 2010

У меня есть таблица Employee, это таблица с самоссылкой, где managerId относится к первичному ключу empID. Я хочу найти 2 уровня записи по заданному empId.

Например: если дано empId=5, если у empId=5 есть записи о детях, отобразите их, а также записи о дочерних элементах. База данных - SQL Server 2005.

обновление: Я хочу получить полный прогноз

1 Ответ

0 голосов
/ 30 марта 2011

Это должно помочь вам начать. Не уверен, что вы подразумеваете под "полный проецирование". Если вы имеете в виду каждого ребенка каждого ребенка, то вам понадобится цикл. Но если вы знаете, что хотите просто пройти 2 уровня, этот пример будет работать:

SELECT
   t1.empID as Parent_ID,
   t2.empID as Child_ID,
   t3.empID as Grandchild_ID
FROM 
   employee t1
   LEFT JOIN employee t2 ON t1.empID = t2.managerID
   LEFT JOIN employee t3 ON t2.empID = t3.managerID
WHERE t1.empID = @given_empID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...