BIGQUERY:连接谓词中的表不受支持的子查询
Posted
技术标签:
【中文标题】BIGQUERY:连接谓词中的表不受支持的子查询【英文标题】:BIGQUERY : Unsupported subquery with table in join predicate 【发布时间】:2021-11-16 08:42:45 【问题描述】:我尝试运行查询。 join 'on' 子句上有一个子查询。我可以在 on 子句上使用子查询吗?我得到了错误
连接谓词中的表不支持子查询。下面是我做的一个例子。
select '1' from `server.dataset.table` a
join `server.dataset.table` b
on a.AccountNumber= (select max(m.AccountNumber) from `server.dataset.table` m)
【问题讨论】:
所有的表都不一样吗?您将它们命名为完全相同,但这将是一个重要的事实:) 【参考方案1】:我建议在连接中,您需要将主键从表 A 关联到表 B。
这里是示例代码代码。
select '1' from `server.dataset.table` a
join `server.dataset.table` b
on a.primarykey=b.primarykey
where a.AccountNumber= (select max(m.AccountNumber) from `server.dataset.table` m)
【讨论】:
子查询正在工作,但 join 'on' 子句中的子查询不工作。 select '1' fromserver.dataset.table
a join server.dataset.table
b on a.AccountNumber= (select max(m.AccountNumber) from server.dataset.table
m)
这个查询只得到 1 行 "select max(m.AccountNumber) from server.dataset.table m"?
是的,它只有 1 行以上是关于BIGQUERY:连接谓词中的表不受支持的子查询的主要内容,如果未能解决你的问题,请参考以下文章
SQL 编译错误:无法评估不受支持的子查询类型 - SELECT 子句中的函数调用
BigQuery SQL:将视图 A 中的子查询作为嵌套表嵌入视图 B