在SQL查询中使用__TABLES_SUMMARY__中的table_id来选择表

时间:2018-06-15 14:38:19

标签: sql google-bigquery

我目前使用以下旧版SQL查询来检查每天在数据集中每个表中返回的行数:

SELECT Date, table1, table2
FROM
(SELECT RowDate AS Date, Count(RowDate) AS table1
FROM [project:dataset.table1] GROUP BY Date),
(SELECT RowDate AS Date, Count(RowDate) AS table2
FROM [project:dataset.table2] GROUP BY Date)

这很好,除了我想查询SELECT给定数据集中的所有表。我相信应该有一种方法可以使用此查询中的table_id列来提取数据集中的表名:

SELECT * FROM `project.dataset.__TABLES_SUMMARY__`

这给了我一张表,其中包含有关数据集中所有表的元数据,包括table_id

敏锐的眼光会看到第二个查询是标准SQL,但我不知道Legacy的等价物(我更喜欢使用它)?

任何人都可以提供在第一个查询中使用table_id和SELECT所有表的方法(并相应地命名Count(RowDate)列)吗?

谢谢

1 个答案:

答案 0 :(得分:2)

  

我不知道遗产的等价物(我更喜欢使用)?

SELECT * FROM [project:dataset.__TABLES_SUMMARY__]