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

求助:BigQuery中三表LEFT JOIN查询SQL编写及字段去重

正确的BigQuery SQL实现方案

以下是符合你需求的正确SQL代码:

SELECT
  st.ItemNumber,
  st.StoreNo,
  st.StoreAddress,
  st.StorePhoneNumber,
  st.StoreType,
  st.StoreOwner,
  it.ItemWeight,
  dt.ItemColor
FROM `Store_Table` st
LEFT JOIN `Item_Table` it
  ON st.ItemNumber = it.ItemNumber
LEFT JOIN `Description_Table` dt
  ON st.ItemNumber = dt.ItemNumber
WHERE
  st.StoreType = 'city'
  AND st.StoreOwner NOT IN ('active', 'trial')

针对你原有代码的修正说明:

  • JOIN拼写错误:你写的LEFT OUTTER JOIN是错误的,正确写法是LEFT OUTER JOIN,BigQuery也支持简写为LEFT JOIN
  • 缺失WHERE关键字:筛选条件前必须加上WHERE关键字,否则会触发语法报错
  • 未关联第三张表:按照需求需要关联Description_Table获取ItemColor,新增对应的LEFT JOIN逻辑
  • 重复的ItemNumber:只需要从主表Store_Table选取一次ItemNumber即可,无需重复选取关联表的同名字段
  • 移除不存在的字段:你原代码里的Table1.gpid在Store_Table中不存在,直接删除该无效字段
  • 简化别名:用更简洁的别名(st、it、dt)提升代码可读性,避免冗长的Table1/Table2命名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:01:15