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

基于Table2的ID映射为Table1赋值的SELECT查询方案需求

基于SELECT的字段赋值解决方案

输入表信息

Table 1(待填充表)

IDvalue
123null
456null
789maths
246english
135chemistry
76899null

Table 2(映射关系表)

Previous IDNext ID
246123
135456
123123
456456

实现SQL语句

SELECT
    t1.ID,
    COALESCE(t1.value, t_map.value) AS Value
FROM
    Table1 t1
LEFT JOIN Table2 t2 ON t1.ID = t2.`Next ID`
LEFT JOIN Table1 t_map ON t2.`Previous ID` = t_map.ID
ORDER BY t1.ID;

逻辑说明

  1. 两次左关联确保保留Table1的所有记录,即使没有对应映射关系(比如ID=76899)
  2. 第一次关联:通过Table1.ID = Table2.Next ID找到当前ID对应的源ID(Previous ID)
  3. 第二次关联:通过Table2.Previous ID = t_map.ID获取源ID对应的有效value值
  4. COALESCE函数优先使用Table1自身的value,只有当自身value为null时,才采用映射得到的value
  5. 最后按ID排序,保证输出顺序与预期一致

预期输出

IDValue
123english
456chemistry
789maths
246english
135chemistry
76899null

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:55:00