[英]Recursive only 2 level records using common sql
我有一个Employee
表,它是一个自引用表, managerId
引用主键empID
。 我想通过给定的empId
查找2级记录。
例如:如果给定empId=5
,如果empId=5
有子记录,则显示它们以及子记录中的子记录。 该数据库是SQL Server 2005。
更新:我想完整投影
这应该使您入门。 不知道“完全投影”是什么意思。 如果您是说每个孩子的每个孩子,那么您将需要一个循环。 但是,如果您知道只想降低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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.