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

如何在Big Query中关联两张表?含全量日期匹配场景需求

解决BigQuery中保留全量日期并匹配对应数据的问题

这场景太常见啦,咱们用LEFT JOIN就能完美实现你的需求——它会保留Table B的所有日期行,同时把Table A中对应日期的total值匹配过来,没有匹配到的日期就显示NULL(如果你希望用0替代NULL也很容易调整)。

基础实现SQL

SELECT 
  B.date,
  A.total
FROM 
  `你的项目名.数据集名.TableB` AS B
LEFT JOIN 
  `你的项目名.数据集名.TableA` AS A
ON 
  B.date = A.date
ORDER BY 
  B.date;

关键说明

  • LEFT JOIN:以Table B作为左表,强制保留它的所有行,右表(Table A)只匹配符合ON条件的记录,匹配不到的字段会填充NULL
  • 记得把代码里的你的项目名.数据集名替换成你实际的BigQuery项目和数据集名称
  • 如果两个表的date字段是字符串类型,要确保格式完全一致(比如都是01-01-17这种格式);如果是DATE类型,直接匹配即可

可选:将NULL替换为0

要是你希望没有对应数据时显示0而不是NULL,用IFNULL()函数处理就行:

SELECT 
  B.date,
  IFNULL(A.total, 0) AS total
FROM 
  `你的项目名.数据集名.TableB` AS B
LEFT JOIN 
  `你的项目名.数据集名.TableA` AS A
ON 
  B.date = A.date
ORDER BY 
  B.date;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:46:17