基于唯一ID合并两张临时表的实现需求
合并两张共享唯一ID的临时表
需求概述
我有两张临时表:
- Table 1 存储字符串类数据,结构:
ID | string1 | string2 | ... - Table 2 存储整数类数据,结构:
ID | int1 | int2 | ...
两表共享唯一ID,且Table 2中不存在Table 1没有的ID。需要将两表合并:保留Table 1的全部内容,若Table 2有匹配ID则追加对应整数值,未匹配时整数列填充0。
实现代码
SELECT t1.ID, t1.string1, t1.string2, -- 无匹配时将NULL转换为0 COALESCE(t2.int1, 0) AS int1, COALESCE(t2.int2, 0) AS int2 -- 若有其他列,按上述格式继续添加即可 FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.ID = t2.ID;
逻辑说明
- 使用
LEFT JOIN:以Table 1为基准,保留其所有行数据,同时关联Table 2中ID匹配的行;未匹配时Table 2的对应列会返回NULL COALESCE函数:取传入参数中的第一个非NULL值,这里用来把未匹配时的NULL替换为0,满足填充要求- 由于Table 2不存在Table 1没有的ID,无需额外处理多余行,直接左连接即可完成需求
内容的提问来源于stack exchange,提问作者Tequila34
相关产品推荐
相关产品推荐

