SQL Server 2000中通过简单的SQL显示父子关系

发布于 2024-10-20 14:44:15 字数 246 浏览 2 评论 0原文

假设我的表结构是

EmployeeID
Name
ManagerID

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

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

Suppose my table structure is

EmployeeID
Name
ManagerID

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

So please tell me how could I show this type of output writing simple SQL in SQL Server 2000.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

青丝拂面 2024-10-27 14:44:15

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

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

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

As far as I can see you only want the direct reports - so a recursive solution isn't needed:

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

If you need a recursive solution you will only find procedural solutions or solutions with a limited depth.

星星的轨迹 2024-10-27 14:44:15

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

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

Before SQL Server 2005, you need a recursive udf

I don't have SQL Server 2000 to test a solution on (I've done it years ago) but here are two articles from the Interwebs:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文