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

如何使用INSERT语句将Table 2数据匹配合并至Table 1?

将Table 2数据匹配合并到Table 1的正确INSERT实现方式

我有两张数据表,希望通过INSERT语句将Table 2的数据匹配合并到Table 1中。

Table 1 结构及数据

datecat_1cat_2cat_3
2020-01-02120
2020-01-03203

Table 2 结构及数据

datecat_typecat_count
2020-01-0421
2020-01-0432

我尝试了以下代码但存在问题,寻求正确的实现方式:

INSERT INTO table 1 (FILE_DATE, cat_1, cat_2,cat_3) 
                FROM
                (SELECT DATE,
                    CASE WHEN cat_type = 2 THEN 'INSERT CAT_COUNT INTO CAT_2)
                    END
                FROM TABLE_2)

正确实现代码

INSERT INTO table_1 (date, cat_1, cat_2, cat_3)
SELECT 
    date,
    SUM(CASE WHEN cat_type = 1 THEN cat_count ELSE 0 END) AS cat_1,
    SUM(CASE WHEN cat_type = 2 THEN cat_count ELSE 0 END) AS cat_2,
    SUM(CASE WHEN cat_type = 3 THEN cat_count ELSE 0 END) AS cat_3
FROM table_2
GROUP BY date;

问题说明及修正点

  1. 表名与字段名错误:原代码中表名table 1包含空格,需改为合法标识符table_1;Table 1的日期字段是date,不是FILE_DATE,需严格匹配字段名。
  2. CASE语句语法错误:原代码的CASE语句未正确闭合,且错误用字符串描述操作,应直接通过CASE将不同cat_type的cat_count映射到对应列,无匹配的类型用0填充。
  3. 分组处理需求:Table 2中同一日期可能对应多个cat_type,需通过GROUP BY date将同一日期的分类数据汇总,生成与Table 1结构一致的单行数据后再插入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:42:02