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

Posted

技术标签:

【中文标题】在 SQL 查询中使用来自 __TABLES_SUMMARY__ 的 table_id 来选择表【英文标题】:Using the table_id from __TABLES_SUMMARY__ in an SQL query to select tables 【发布时间】:2018-06-15 14:38:18 【问题描述】:

我目前使用以下遗留 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)

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

SELECT * FROM `project.dataset.__TABLES_SUMMARY__`

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

敏锐的人会发现第二个查询是标准 SQL,但我不知道 Legacy 的等效项(我更喜欢使用)?

谁能提供一种方法来在第一个查询中使用 table_id 并选择所有表(并相应地命名 Count(RowDate) 列)?

谢谢

【问题讨论】:

【参考方案1】:

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

SELECT * FROM [project:dataset.__TABLES_SUMMARY__]

【讨论】:

以上是关于在 SQL 查询中使用来自 __TABLES_SUMMARY__ 的 table_id 来选择表的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 SQL Server 查询中的排序规则冲突?

Mongoose.js 除了 _id & __v 默认来自查询结果

Mongoose.js 除了 _id & __v 默认来自查询结果

07_MySQL DQL_多表查询_等值内连接

MySQL基础_视图

来自 Python 的复杂 SQL Server 查询