我有一个表,它们的表名相似,分布在单个项目的各个数据集中。下面是我的bigquery项目的结构。
sample-project
- Dataset1
- ga_user_20200101
- ga_user_20200102
- ga_user_20200103
- Dataset2
- ga_user_20200101
- ga_user_20200102
- ga_user_20200103
- Dataset3
- ga_user_20200101
- ga_user_20200102
- ga_user_20200103
这样,我的项目中就有近100个数据集。
我拥有的查询仅在数据集级别起作用,并且我正在对所有表进行并集。
SELECT 'Dataset1' as account_name, date, sum(users) as users, sum(new_visits) as new_visits, sum(new_visits)/sum(users) as new_user_share FROM `sample-project.Dataset1.ga_user_*` where _TABLE_SUFFIX between '20200101' and '20200103' group by date
union all
SELECT 'Dataset2' as account_name, date, sum(users) as users, sum(new_visits) as new_visits, sum(new_visits)/sum(users) as new_user_share FROM `sample-project.Dataset2.ga_user_*` where _TABLE_SUFFIX between '20200101' and '20200103' group by date
union all
SELECT 'Dataset3' as account_name, date, sum(users) as users, sum(new_visits) as new_visits, sum(new_visits)/sum(users) as new_user_share FROM `sample-project.Dataset3.ga_user_*` where _TABLE_SUFFIX between '20200101' and '20200103' group by date
在项目级别是否有一种方法来查询带有匹配后缀“ ga_user _ *”(存在于不同数据集中)的所有匹配表。 例如,
-- this query doesn't work
SELECT 'Dataset3' as account_name, date, sum(users) as users, sum(new_visits) as new_visits, sum(new_visits)/sum(users) as new_user_share FROM `sample-project.*.ga_user_*` where _TABLE_SUFFIX between '20200101' and '20200103' group by date
请告知