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

多表关联查询:保留全量2500万ID关联4张业务表结果缺失问题

多表关联保留全量主ID的SQL实现方案

根因:左关联时如果把副表的过滤条件写在WHERE子句中,会过滤掉主表中关联副表失败的记录,最终导致主表ID缺失
解决方法:将所有副表的过滤条件调整到对应JOIN语句的ON子句中即可解决


实现逻辑说明

  • 必须以存储全量ID的主表作为左关联的左表,4张业务指标表全部使用LEFT JOIN关联
  • 所有针对业务指标表的过滤条件,都需要写在对应LEFT JOIN的ON子句中,禁止写在全局WHERE子句中
  • 关联主键统一使用ID字段,未匹配到的指标字段会自动填充NULL,无需额外处理

示例SQL代码(可直接按表结构替换扩展)

CREATE TABLE 目标新表名 AS
SELECT 
    t.id,
    t1.measure_a,
    t1.measure_b,
    t2.measure_f,
    t2.measure_g,
    -- 此处继续补充剩余2张业务表的指标字段即可
FROM 主ID表 t
LEFT JOIN 表1 t1 
    ON t.id = t1.id
    -- 表1的所有过滤条件都写在这里,不要放到全局WHERE中
LEFT JOIN 表2 t2
    ON t.id = t2.id
    -- 表2的所有过滤条件都写在这里,不要放到全局WHERE中
-- 继续补充剩余2张业务表的LEFT JOIN逻辑即可
;

效果验证

按照上述写法执行后,输出结果会完整保留主表的2500万条全量ID,关联失败的指标字段自动填充NULL,完全符合预期输出要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:21:01