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

请教:通过参考表替换列值并将Table1数据迁移至Table2的SQL语句

SQL Solution for Data Migration with Reference Lookup

需求回顾

我们需要把Table1中的数据迁移到结构完全一致的Table2,同时借助reference参考表,将action、component、type列的数值替换为对应的文本描述,最终得到目标格式的数据。

实现SQL语句

-- 可选:若需要清空Table2原有数据,执行此步骤;保留原有数据则跳过
TRUNCATE TABLE Table2;

-- 插入转换后的数据到Table2
INSERT INTO Table2 (action, component, type)
SELECT
    ref_action.value AS action,
    ref_component.value AS component,
    ref_type.value AS type
FROM Table1
-- 关联reference表获取action对应的描述文本
LEFT JOIN reference ref_action
    ON ref_action.description = 'action'
    AND ref_action.id = Table1.action
-- 关联reference表获取component对应的描述文本
LEFT JOIN reference ref_component
    ON ref_component.description = 'component'
    AND ref_component.id = Table1.component
-- 关联reference表获取type对应的描述文本
LEFT JOIN reference ref_type
    ON ref_type.description = 'type'
    AND ref_type.id = Table1.type;

逻辑说明

  • 三次LEFT JOIN分别对应三个需要转换的列,每次关联都会匹配reference表中description与列名一致、id与原表数值一致的记录,取出对应的文本值;
  • 用TRUNCATE TABLE是为了确保Table2插入新数据前为空,如果你需要保留原有数据,可以去掉这一步,或者调整为增量插入的逻辑;
  • 使用LEFT JOIN可以保证即使Table1中存在reference表未匹配到的数值,这条数据依然会被插入(对应列显示NULL),如果要求必须有匹配项才能插入,可替换为INNER JOIN。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:11:13