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

MSSQL带条件循环嵌套行:中转路径备注的递归查询求助

解决方案

针对你的需求,我们可以通过递归CTE来生成传输路径并正确填充备注字段。以下是适配你数据表的完整SQL语句:

WITH TransitPaths AS (
    -- 锚点查询:获取所有直接相邻的传输段(无中转)
    SELECT
        s.Id AS StartId,
        s.Country AS CountryFrom,
        e.Country AS CountryTo,
        s.seqNo AS SeqFrom,
        e.seqNo AS SeqTo,
        s.Send,
        e.Arrive,
        CAST('' AS NVARCHAR(MAX)) AS Remarks
    FROM IPhone s
    JOIN IPhone e ON s.seqNo + 1 = e.seqNo

    UNION ALL

    -- 递归查询:扩展路径,收集途经国家
    SELECT
        tp.StartId,
        tp.CountryFrom,
        e.Country AS CountryTo,
        tp.SeqFrom,
        e.seqNo AS SeqTo,
        tp.Send,
        e.Arrive,
        CASE 
            WHEN tp.Remarks = '' THEN tp.CountryTo
            ELSE tp.Remarks + ', ' + tp.CountryTo
        END AS Remarks
    FROM TransitPaths tp
    JOIN IPhone e ON tp.SeqTo + 1 = e.seqNo
)
-- 最终结果:给非空备注添加"Via "前缀
SELECT
    StartId AS Id,
    CountryFrom,
    CountryTo,
    CONVERT(VARCHAR(4), SeqFrom) + '-' + CONVERT(VARCHAR(4), SeqTo) AS seqNo,
    Send,
    Arrive,
    CASE WHEN Remarks <> '' THEN 'Via ' + Remarks ELSE '' END AS Remarks
FROM TransitPaths
ORDER BY SeqFrom, SeqTo;

语句解释

  1. 锚点查询:先筛选出所有seqNo连续的直接传输段(比如1→2、2→3),这类路径无中转,备注字段为空。
  2. 递归查询:基于锚点的结果,逐步扩展路径范围(比如1→2扩展为1→3,再扩展为1→4),每次将当前路径的终点国家追加到备注中,形成途经国家列表。
  3. 最终整理:对非空的备注字段添加Via 前缀,保持直接传输的备注为空,完全匹配你的需求。

执行结果

运行上述语句后,将得到以下符合预期的结果:

IdCountryFromCountryToseqNoSendArriveRemarks
1001AmericaChina1-22022-11-23 18:30:002022-11-24 05:00:00
1002ChinaArgentina2-32022-11-24 08:18:002022-11-24 18:18:00
1003ArgentinaSaudi Arabia3-42022-11-25 18:30:002022-11-25 20:30:00
1001AmericaArgentina1-32022-11-23 18:30:002022-11-24 18:18:00Via China
1002ChinaSaudi Arabia2-42022-11-24 08:18:002022-11-25 20:30:00Via Argentina
1001AmericaSaudi Arabia1-42022-11-23 18:30:002022-11-25 20:30:00Via China, Argentina

原查询问题说明

你之前的查询直接连接所有seqNo小于目标值的记录,并拼接起点和终点国家作为备注,这错误地将起点、终点当成了途经点。递归CTE的核心是逐步遍历中间节点,只收集真正的途经国家,从而得到正确的备注内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:45:36