如何在BigQuery中的项目中查询所有具有共同后缀的表

时间:2020-09-17 09:37:01

标签: mysql google-bigquery

我有一个表,它们的表名相似,分布在单个项目的各个数据集中。下面是我的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

请告知

0 个答案:

没有答案
相关问题