Sql server 在SQLServer2000中通过简单SQL显示父子关系

Sql server 在SQLServer2000中通过简单SQL显示父子关系,sql-server,sql-server-2000,Sql Server,Sql Server 2000,假设我的表结构是 EmployeeID Name ManagerID Employee ReportTo ----------------------- ANA BEN KIN ANA ARI NULL BEN NULL 因此,请告诉我如何在SQL Server 2000中编写简单SQL来显示这种类型的输出。在SQL Server 2005之前,您需要一个递归udf 我没有SQL Server 2000

假设我的表结构是

EmployeeID
Name
ManagerID

Employee     ReportTo 
-----------------------
ANA           BEN
KIN           ANA
ARI           NULL
BEN           NULL

因此,请告诉我如何在SQL Server 2000中编写简单SQL来显示这种类型的输出。

在SQL Server 2005之前,您需要一个递归udf

我没有SQL Server 2000来测试解决方案(我几年前就做过),但以下是Interwebs上的两篇文章:


在SQL Server 2005之前,您需要一个递归udf

我没有SQL Server 2000来测试解决方案(我几年前就做过),但以下是Interwebs上的两篇文章:


据我所知,您只需要直接下属-因此不需要递归解决方案:

select em.Name as Employee, mg.Name as ReportTo
from dbo.tYourTable em
left join dbo.tYourTable mg
 on mg.EmployeeID = em.ManagerID;

如果您需要递归解决方案,您只能找到程序性解决方案或深度有限的解决方案。

据我所知,您只需要直接下属-因此不需要递归解决方案:

select em.Name as Employee, mg.Name as ReportTo
from dbo.tYourTable em
left join dbo.tYourTable mg
 on mg.EmployeeID = em.ManagerID;
如果你需要一个递归的解决方案,你只能找到程序性的解决方案或者深度有限的解决方案