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

如何通过同名列关联两表并为无数据列填充Null/0?

解决方案

要实现保留所有Color值、关联两表并填充缺失Wheels数据的需求,**左连接(LEFT JOIN)**是正确的选择,之前用UNION报错是因为它的用途和你的需求完全不匹配,具体实现如下:

保留NULL的写法

SELECT 
    t1.Color,
    t1.Doors,
    t2.Wheels
FROM 表1 t1
LEFT JOIN 表2 t2 ON t1.Color = t2.Color;

把NULL转为0的写法

如果需要将无匹配的Wheels值显示为0,用COALESCE函数(主流数据库均支持):

SELECT 
    t1.Color,
    t1.Doors,
    COALESCE(t2.Wheels, 0) AS Wheels
FROM 表1 t1
LEFT JOIN 表2 t2 ON t1.Color = t2.Color;

为什么UNION不适用?

UNION的作用是合并两个结构一致的查询结果的行,而你的需求是横向关联两个表的列,用它自然会报错,完全不符合场景。

执行上述SQL后,会得到你期望的结果:

ColorDoorsWheels
Red11
Blue22
Green3NULL(或0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:24:31