小编Ing*_*var的帖子

T-SQL层次结构查询

我有一个包含分层数据的表: 在此输入图像描述

这是包含 id、父 id、名称、代码(有时未填充)、级别和 isroot 列的数据示例。在实际场景中,级别会多于 2 个,但现在让我们看一下简化的示例。

我需要做的是循环遍历所有记录并查找在层次结构的任何级别上未填充 id 的行:

  • id 范围应从 6 到 10 返回,因为它们在层次结构的任何点都没有填充代码
  • 不应返回从 1 到 5 的行,因为在层次结构中的某处提到了代码。

如何使用 T-SQL 解决这个问题?

我想到的唯一解决方案是递归(cte 或 WHILE),但我试图实现的解决方案太复杂并且没有解决问题。

t-sql sql-server loops hierarchy common-table-expression

5
推荐指数
3
解决办法
1万
查看次数