【发布时间】:2010-12-17 22:53:54
【问题描述】:
在 SQL Server 中进行递归自联接的最简单方法是什么?我有一张这样的桌子:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
5 YT NULL
6 IS 5
而且我希望能够获取仅与从特定人员开始的层次结构相关的记录。所以如果我通过 PersonID=1 请求 CJ 的层次结构,我会得到:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
对于 EB,我会得到:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
除了基于一堆连接的固定深度响应之外,我对此有点卡住了,无法思考如何做到这一点。这会发生,因为我们不会有很多级别,但我想正确地做。
谢谢!克里斯。
【问题讨论】:
-
您使用的是哪个版本的 SQL Server?即 Sql 2000、2005、2008?
标签: sql sql-server recursion hierarchical-data self-join