【发布时间】:2019-10-16 19:40:09
【问题描述】:
我正在尝试使用 Azure SQL 数据库中的 CTE 扩展自引用表,但尚未使其工作。
源表有Id,ParentId列,例如:
Id ParentId
1 NULL
2 1
3 2
4 2
5 4
6 4
7 NULL
8 7
我想要的结果是这样的:(每个 id 的一行,它是孩子或孙子或...)
Id ChildId
1 1
1 2
1 3
1 4
1 5
1 6
2 2
2 3
2 4
2 5
2 6
3 3
4 4
4 5
4 6
5 5
6 6
7 7
7 8
8 8
有什么方法可以使用 CTE 或 SQL 表值函数来做到这一点?
【问题讨论】:
-
由于 Azure SQL 数据库与 SQL Server 兼容,因此我还包含了 SQL Server 标记..
标签: sql sql-server azure-sql-database common-table-expression