相关疑难解决方法(0)

最简单的递归自联接方式?

在SQL Server中执行递归自联接的最简单方法是什么?我有这样一张桌子:

PersonID | Initials | ParentID
1          CJ         NULL
2          EB         1
3          MB         1
4          SW         2
5          YT         NULL
6          IS         5
Run Code Online (Sandbox Code Playgroud)

而且我希望能够获得仅与特定人员开始的层次结构相关的记录.所以,如果我通过PersonID = 1请求CJ的层次结构,我会得到:

PersonID | Initials | ParentID
1          CJ         NULL
2          EB         1
3          MB         1
4          SW         2
Run Code Online (Sandbox Code Playgroud)

对于EB,我会得到:

PersonID | Initials | ParentID
2          EB         1
4          SW         2
Run Code Online (Sandbox Code Playgroud)

我有点卡住这个可以想不出怎么做除了基于一堆连接的固定深度响应.这会发生,因为我们不会有很多级别,但我想做得恰到好处.

谢谢!克里斯.

sql sql-server recursion self-join hierarchical-data

93
推荐指数
3
解决办法
9万
查看次数