gpt4 book ai didi

tsql - 如何递归读取所有记录并按级别深度显示 TSQL

转载 作者:行者123 更新时间:2023-12-04 23:57:00 32 4
gpt4 key购买 nike

有没有办法在相似的表中递归读取记录并按深度级别排序?

#table:

id int | parent int | value string
--------------------------------------------
1 -1 some
2 1 some2
3 2 some3
4 2 some4
5 3 some5
6 4 some6
7 3 some5
8 3 some5
9 8 some5
10 8 some5

那么有没有办法递归地选择结果表看起来像这样的位置。
select * from #table where id=3 

id int | parent int | value string | depth
--------------------------------------------------------
3 2 some3 0
5 3 some5 1
7 3 some5 1
8 3 some5 1
9 8 some5 2
10 8 some5 2

所以如果我选择 id=3 我会看到 id=3 和 children 的递归

谢谢

最佳答案

;with C as
(
select id,
parent,
value,
0 as depth
from YourTable
where id = 3
union all
select T.id,
T.parent,
T.value,
C.depth + 1
from YourTable as T
inner join C
on T.parent = C.id
)
select *
from C
SE-Data

关于tsql - 如何递归读取所有记录并按级别深度显示 TSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10311080/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com