_TABLE_SUFFIX 在多个连接上

A C*_*A C 4 sql google-bigquery

在 BigQuery,标准 SQL 中,如何在多个表上使用 _TABLE_SUFFIX ?见示例:

select *
from `table1.*` t1
left join `table2.*` t2 on t1.lel=t2.lel
where _TABLE_SUFFIX between '2017-01-01' and '2017-01-02'    <--- this can't be used 
Run Code Online (Sandbox Code Playgroud)

我是否必须首先创建一个 table2 的子查询,并将 table_suffix 应用于它?

Mos*_*sky 5

在您的查询中_TABLE_SUFFIX是不明确的,因为 BigQuery 无法判断它是来自 t1 还是 t2。您可以使用显式前缀t1.或来消除歧义t2.,即

select *
from `table1.*` t1
left join `table2.*` t2 on t1.lel=t2.lel
where t1._TABLE_SUFFIX between '2017-01-01' and '2017-01-02'
Run Code Online (Sandbox Code Playgroud)