Join条件下的BigQuery子查询

问题描述 投票:0回答:1

您好,我正在将一些TSQL查询转换为BigQuery标准SQL,并在转换JOIN条件时遇到了子查询,请提供帮助,谢谢。]

TSQL

select * From Table1 t1
left join Table3 t2 
  on t2.userid=t1.userid 
    and t2.id in (select min(id) From Table3 t3 where t3.userid=t2.userid)
where t1.creationdate > <date condition> 

似乎,BigQuery在WHERE或JOIN条件下将不直接支持子查询。那么,有没有一种方法可以在BigQuery中实现相同目标?

[您好,我正在将一些TSQL查询转换为BigQuery标准SQL,并在转换JOIN条件时遇到了子查询,请感谢您能否为TSQL选择* ...]提供帮助,请感谢

google-bigquery subquery left-join
1个回答
0
投票
您应该可以:

select * From Table1 t1 left join (Table3 join (select min(id) min_id, userid From Table3 t3 group by userid) t3_min_id on Table3.id = t3_min_id.min_id AND Table3.userid = t3_min_id.userid) t2 on t2.userid=t1.userid where t1.creationdate > <date condition>

© www.soinside.com 2019 - 2024. All rights reserved.