BigQuery编写JOIN语句遇语法错误:Orders标识报错求助
问题解决:BigQuery JOIN语句语法错误
你的问题出在SELECT子句的前两行,你把字符串常量命名为Orders和Customers,这和后面要引用的表名重名了——BigQuery会优先把Orders识别成你定义的这个字符串列,而非FROM里的订单表,自然找不到OrderID这类字段。
修正后的SQL代码:
SELECT Orders.OrderID, Orders.OrderDate, Orders.ProductID, Orders.CustomerID, Customers.CustomerName FROM `my-project-spawsome-sales.SpawsomeSales.Orders` AS Orders LEFT JOIN `my-project-spawsome-sales.SpawsomeSales.Customers` AS Customers ON Orders.CustomerId = Customers.CustomerID;
关键修改点:
- 删除SELECT里多余的字符串别名定义(如果确实需要输出表名,可换个不冲突的别名,比如
'my-project-spawsome-sales.SpawsomeSales.Orders' AS OrderTableName) - 给FROM和JOIN的表显式添加别名(虽BigQuery支持直接用表名,但显式别名更清晰,也能彻底避免命名冲突)
- 统一ON子句里的字段名大小写(BigQuery默认大小写不敏感,但统一写法能减少潜在问题)
内容的提问来源于stack exchange,提问作者Tiffany Spaw
相关产品推荐
相关产品推荐

