![]() |
1
3
SQL Server中几乎所有层次结构问题都是通过递归cte解决的。
您没有提到是否可以有多个层次结构级别,但由于没有办法阻止另一个级别,然后编写一个instead of触发器或基于udf的检查约束,因此我假设可以有多个层次结构行。
现在,讨论够了,让我们看看一些代码!
笔记 :我又为孙子添加了两行以检查多级层次结构。 cte:
查询:
结果:
|
![]() |
2
2
这相当直截了当,真的:
输出:
请注意,我已将排序计算放在
|
![]() |
3
1
试试这个
|
![]() |
4
1
如果您不知道子深度,我通常使用动态Sql来解决这个问题。但由于您似乎只有2级的深度,因此这可能会起作用:
|
![]() |
5
0
经过一些调试,我发现
在我的情况下,我不需要超过4个字符。但如果需要更多,只需自己添加,不要忘记根据层次结构中的级别数乘以所需字符长度来更改排序列的长度。 |
![]() |
Alopex · 如何从子进程到父进程获取返回值? 7 年前 |
![]() |
xxCodexx · 在Python中从父函数启动进程 7 年前 |
![]() |
quantummidget · 正在查找BFS父关系数组 7 年前 |
![]() |
funcs · 无限循环中来自子级的read()标准输出 7 年前 |
![]() |
BBauer42 · 将平面数据加载到树数据结构中 7 年前 |
![]() |
KLD · 从子VC设置父VC对象的动画 7 年前 |
![]() |
James Stone · 出现在父级后面的HTML子级 7 年前 |