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

BigQuery关联表空值问题:匹配指定编码序列的查询需求

解决方案

针对你的场景,核心是调整连接条件:对于需要匹配的指定编码对应的字段(CilindrataCc对应CC(1.3)、Carburante对应CMB(GA)、LivelloEcologia对应ECO(BPL7)、LivelloAllestimento对应L(L1)),保持严格等值匹配;对于其他可能为NULL的字段,当Table D的字段为NULL时,忽略该字段的匹配条件,避免因NULL导致连接失败,同时不会引入无关记录。

修改后的查询SQL如下:

SELECT e.Modelo, e.Volume 
FROM e 
INNER JOIN d ON (
  -- 必须匹配的指定编码字段
  d.Carburante = e.Carburante 
  AND d.LivelloEcologia = e.LivelloEcologia 
  AND d.CilindrataCc = e.CilindrataCc 
  AND d.LivelloAllestimento = e.LivelloAllestimento
  -- 其他字段:d侧为NULL时跳过匹配,否则等值匹配
  AND (d.FamigliaCambio IS NULL OR d.FamigliaCambio = e.FamigliaCambio)
  AND (d.Numero Porte IS NULL OR d.Numero Porte = e.Numero Porte)
  AND (d.Tipo Trazione IS NULL OR d.Tipo Trazione = e.Tipo Trazione)
) 
WHERE d.modelo = 658

说明

  • 对于你指定需要保留的编码对应的字段,强制要求d和e的字段值完全相等,确保只获取目标编码序列的记录;
  • 对于其他可能为NULL的字段,使用(d.field IS NULL OR d.field = e.field)的逻辑:如果d的字段是NULL,该条件自动成立,不会阻碍连接;如果d的字段有值,则必须和e的字段值相等,避免引入无关记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:07:11