You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TSQL递归查询中为所有层级行添加顶级ID标识

TSQL递归查询添加顶级ID标识解决方案

要给递归查询结果的每一行添加顶级ID标识,只需在递归CTE的锚点成员中新增top_id字段并赋值为目标顶级ID(如'A1'),再在递归成员中继承这个字段即可,所有层级的行都会带上同一个顶级ID标记。

修改后的查询代码

WITH finaltable 
AS
(
    -- 锚点成员:指定顶级ID
    select b.*, 'A1' as top_id
    from mytable b
    where b.id = 'A1'

    UNION ALL

    -- 递归成员:继承锚点传递的top_id
    select rec.*, f.top_id
    from mytable rec
    INNER JOIN finaltable f
        ON f.deputy_id = rec.id
)
SELECT *
FROM finaltable

执行后返回结果

iddeputy_idtop_id
A1B1A1
A1B2A1
B1nullA1
B2C1A1
C1nullA1

内容的提问来源于stack exchange,提问作者gri22ly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 17:11:09