man*_*anu 2 sql sql-server sql-server-2005 hierarchical-data
我有一个"Employee"表,其中包含一个"EmployeeID"列和一个代表Employee's Boss(BossID)的列,后者又是"Employee"表中的一名员工.如何跟踪从给定"EmployeeID"到最顶层Boss的层次结构.我不想在这里使用自联接方法,我也在使用SQL Server 2005.
谢谢
马努
你必须使用某种类型的自连接基本上与你描述的表结构,但如果这是关注的话,可以使用递归CTE来处理层次结构的任意深度?
WITH cte AS
(
SELECT EmployeeID, BossId
FROM Employee where EmployeeID = @EmployeeID
UNION ALL
SELECT e.EmployeeID, e.BossId
FROM Employee e JOIN cte ON cte.BossId = e.EmployeeID
)
SELECT EmployeeID
FROM cte
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
195 次 |
最近记录: |