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

如何在LEFT JOIN查询中实现字段值合并(优先左表非空值)

实现LEFT JOIN时合并同名字段(优先左表值)

连接两个包含同名字段的表时,同名字段会出现重复。如果要执行LEFT JOIN并实现「优先保留左表字段值,左表值为NULL时用右表对应值替换」的逻辑(MERGE用于更新表,这里需要在查询语句中实现),可以使用COALESCE函数完成。

示例查询语句

SELECT 
    date,
    col1,
    COALESCE(table1.col2, table2.col2) AS col2
FROM table1
LEFT JOIN table2 ON table1.date = table2.date;

COALESCE函数会依次检查传入的参数,返回第一个非NULL的值,完美匹配需求:左表col2有值时优先使用,左表col2为NULL时则取右表的col2值。

示例数据

Table1:

date        | col1 | col2  
------------+------+------
'2023-08-01'|    1 |  20
'2023-08-02'|    2 | NULL
'2023-08-03'|    3 | NULL
'2023-08-04'|    4 | NULL
'2023-08-05'|    5 | NULL
'2023-08-06'|    6 | NULL

Table2:

date        | col2
 ------------+------
 '2023-08-03'|  22
 '2023-08-04'|  23

预期结果

date        | col1 | col2  
------------+------+------
'2023-08-01'|    1 |  20
'2023-08-02'|    2 | NULL
'2023-08-03'|    3 |  22
'2023-08-04'|    4 |  23
'2023-08-05'|    5 | NULL
'2023-08-06'|    6 | NULL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:10:32