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

基于ID关联将单元格值移至对应行的SQL实现求助

解决方案:通过ID关联迁移Column B值

原SQL问题分析

你写的SQL语句中,WHERE Table_Name.ID = Table_Name.ID +2是逻辑矛盾的——没有任何整数ID能满足“自身等于自身加2”的条件,因此查询结果全为NULL。


方法1:新增列展示关联的B值(推荐用于查询场景)

使用自连接将ID为X的行与ID为X+2的行关联,新增列获取对应B值:

SELECT
    t1.ID,
    t1.Column_A,
    t1.Column_B,
    t2.Column_B AS Associated_Column_B
FROM
    Table_Name t1
LEFT JOIN
    Table_Name t2 ON t2.ID = t1.ID + 2
  • 左连接(LEFT JOIN)确保即使某行没有对应的ID+2行,也不会丢失原有数据,此时Associated_Column_B会显示为NULL。

方法2:填充原Column B的NULL值(用于更新表数据)

如果需要直接把B值填充到ID=X行的Column B中,用带关联子查询的UPDATE语句:

UPDATE Table_Name t1
SET t1.Column_B = (
    SELECT t2.Column_B
    FROM Table_Name t2
    WHERE t2.ID = t1.ID + 2
)
WHERE t1.Column_B IS NULL;
  • WHERE t1.Column_B IS NULL限定只更新原本为NULL的行,避免覆盖已有数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:25:19