假设我的表结构是
EmployeeID
Name
ManagerID
Employee ReportTo
-----------------------
ANA BEN
KIN ANA
ARI NULL
BEN NULL
所以请告诉我如何在SQL Server 2000中显示这种类型的输出编写简单SQL。
答案 0 :(得分:4)
据我所知,您只需要直接报告 - 因此不需要递归解决方案:
select em.Name as Employee, mg.Name as ReportTo
from dbo.tYourTable em
left join dbo.tYourTable mg
on mg.EmployeeID = em.ManagerID;
如果您需要递归解决方案,您将只能找到深度有限的程序解决方案或解决方案。
答案 1 :(得分:2)
在SQL Server 2005之前,您需要一个递归的udf
我没有SQL Server 2000来测试解决方案(我多年前就已经完成了)但是这里有两篇来自Interwebs的文章: