【发布时间】:2017-06-28 01:16:33
【问题描述】:
我正在开发 SQL Server 2008。我相信我的问题的答案在于递归 CTE,但任何解决方案都将不胜感激。
在下面的 sam_DB.dbo.example 表中,PID 不为空,它链接回一个 ID
ID | PID
------ | ------
1 | NULL
2 | 1
3 | 2
4 | 3
5 | NULL
6 | 5
7 | 6
8 | NULL
9 | NULL
10 | 9
我希望我的输出有一个新字段 (CID),它将从 PID 到 ID 的链接链中的每条记录标识为组的一部分,如下所示。
ID | PID | CID
------ | ------ | ------
1 | NULL | 1
2 | 1 | 1
3 | 2 | 1
4 | 3 | 1
5 | NULL | 2
6 | 5 | 2
7 | 6 | 2
8 | NULL | 3
9 | NULL | 4
10 | 9 | 4
【问题讨论】:
标签: sql sql-server sql-server-2008 recursion