【发布时间】:2021-07-04 00:28:12
【问题描述】:
我陷入了一个不断在脑海中寻找解决方案的问题。
我有一个有 6k 行的 users 表,它们与 parent-child 相关。问题是,我不仅希望在单个级别的父子关系中获得结果,而且还希望在所有级别(直到最后一个孩子)为每个 userid 获得结果。
我的users 表中有这些数据。
UserID | ParentID
1 NULL
2 1
3 1
4 2
5 2
6 5
7 6
8 6
9 NULL
我想要这个数据作为 CTE 的输出。
ParentID | UserID
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
2 2
2 4
2 5
2 6
2 7
2 8
3 3
4 4
5 5
5 6
5 7
5 8
6 6
6 7
6 8
7 7
8 8
9 9
注意:ParentID 不仅包括其子代,还包括其子代的子代和自身。我正在使用 MSSQL 2019。
【问题讨论】:
标签: sql sql-server tsql common-table-expression sql-server-2019