【发布时间】:2016-03-04 22:33:42
【问题描述】:
我在如何在 SQL Server 中为递归父子树构建查询时遇到了一些麻烦。
我找到了一些常见的表表达式,但我必须考虑另一个我在互联网上搜索没有找到的参数(每个级别的优先级),所以我的表结构是这样的
id - parentid - proprity
例如,如果我有这个数据:
1 - NULL - 2
2 - NULL - 1
3 - 2 - 2
4 - 3 - 1
5 - 2 - 0
6 - 1 - 0
7 - 2 - 3
查询必须以正确的顺序返回:
-2
--5
--3
---4
--7
-1
--6
此外,此列表是可订购的,因此如果有任何订单更改,我必须在正确的位置重置优先级。任何人都已经通过 SQL Server 中的查询来解决这种情况?
提前致谢
【问题讨论】:
-
这是一个很好的起点。 spaghettidba.com/2015/04/24/…
-
只涉及ORDER BY中的优先级。发布您的查询,我们可以对其进行调试。
标签: sql sql-server common-table-expression