【发布时间】:2014-07-02 05:35:39
【问题描述】:
我有一个包含分层数据的表,结构如下:
ID ParentId
---- ----------
1 NULL
2 1
3 2
4 2
5 3
6 5
如果我传递节点 ID,我想通过在 SQL 中遍历其所有父节点来获取最高节点 ID/详细信息。
我尝试了 CTE,但我无法正确组合。然而,我把它作为一个函数工作,但它太慢了,我不得不发布这个问题。
在上面的示例中,如果我通过 6,我希望获得最高的值,即 1。通过遍历 6 => 5 => 3 => 2 => [1](结果)
提前感谢您的帮助。
【问题讨论】:
-
CTE 是公用表表达式。
标签: sql sql-server sql-server-2008 sql-server-2008-r2