【问题标题】:BIGQUERY : Unsupported subquery with table in join predicateBIGQUERY:连接谓词中的表不受支持的子查询
【发布时间】: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)

【问题讨论】:

  • 所有的表都不一样吗?您将它们命名为完全相同,但这将是一个重要的事实:)

标签: google-cloud-platform google-bigquery


【解决方案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 行
猜你喜欢
  • 1970-01-01
  • 2019-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 2023-02-15
  • 2020-07-24
相关资源
最近更新 更多