小编Mat*_*ons的帖子

列出所有节点的所有父节点/上升节点

我有以下结构:

示例树:

树状图

示例表:

    [table]

    id  parent
    ----------
    1   NULL
    2   1
    3   1
    4   2
    5   2
    6   2
    7   3
    8   4
Run Code Online (Sandbox Code Playgroud)

对于每个id,我想在单独的行中列出它的所有父母,包括它的后代。

期望输出:

    id  parent
    ----------
    1   NULL
    2   1
    3   1
    4   1
    4   2
    5   1
    5   2
    6   1
    6   2
    7   1
    7   3
    8   1
    8   2
    8   4
Run Code Online (Sandbox Code Playgroud)

我尝试使用 CTE,但我似乎无法理解它。

    with temp(id,parent) as (
    SELECT S.id, S.parent
    FROM [table] as S 

    UNION ALL
    
    SELECT S2.id, S2.parent
    FROM [table] as S2 …
Run Code Online (Sandbox Code Playgroud)

sql-server cte sql-server-2014

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

cte ×1

sql-server ×1

sql-server-2014 ×1