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' from server.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

无法从函数评估不受支持的子查询类型

SQL 编译错误:无法在 Snowflake 中评估不受支持的子查询类型

为啥我的子查询谓词中的 LIKE[c] 与此名称不匹配?

雪花:无法评估不受支持的子查询类型