【发布时间】:2013-05-27 20:09:57
【问题描述】:
NodeId NodeName ParentId 权限
-----------------------------------------------------------
1 节点 1 0 1
2 节点 2 1 空
3 节点 3 1 空
4 节点 4 1 空
5 节点 5 2 空
6 节点 6 5 空
7 节点 7 2 空
我在 Node6 中,我需要在树中获得第一个非 NULL 权限(6->5->2->1-> Permission = 1) 我该怎么做?
【问题讨论】:
-
你真的需要递归。你用的是什么数据库?您的层次结构是否有最大深度?
-
@gbn,SQL Server 2008
-
@MartinWilson,层次结构没有最大深度。
-
您是否尝试过使用递归 CTE? msdn.microsoft.com/en-us/library/ms186243(v=sql.105).aspx
-
当权限不为NULL时,这是层次的顶部吗?还是 ParentID = 0?
标签: sql sql-server-2008