0

给定上下文:如何在相邻列表中复制节点的子节点

在邻接列表中,如何选择任何节点并获取所有子节点?

例如,请参阅下面突出显示的节点。

在此处输入图像描述

4

1 回答 1

0

尝试使用 CTE(关于 CTE):

DECLARE @SelectedNode INT = 103;
;WITH nodes AS
( 
    SELECT Node
    , ParentNode
    , GroupID
    , Depth
    FROM TableNodes WHERE Node = @SelectedNode
    UNION ALL
    SELECT tn.Node
    , tn.ParentNode
    , tn.GroupID
    , tn.Depth FROM TableNode tn 
    INNER JOIN nodes n ON n.Node = tn.ParentNode
)

SELECT * FROM nodes;
于 2013-08-24T06:23:56.000 回答