BigQuery - 合并表格
BigQuery - combine tables
我在 BigQuery 中有月度数据,但我想创建一个年度数据库,这意味着将 12 个子数据库合并为 1 个。
如何实现?
所有 12 个数据库的结构都相同,格式为:
Date, Name, Amount, Value, Type_of_Good
我以为 JOIN 可能对我有帮助,但事实并非如此。
谢谢
您可以使用以下语法
SELECT Date, Name, Amount, Value, Type_of_Good
FROM
(select Date, Name, Amount, Value, Type_of_Good from january ...),
(select Date, Name, Amount, Value, Type_of_Good from february ...),
...
(select Date, Name, Amount, Value, Type_of_Good from december ...)
Pentium10 的建议可行,但您还可以考虑其他两个选项:
- 使用
TABLE_QUERY()
(described here),这将允许您构建一个从多个 table 中进行选择的查询。
- 使用视图 (described here)。请注意,视图目前不能与
TABLE_QUERY
或 TABLE_DATE_RANGE
一起使用(尽管该功能应该很快就会出现!)。但是视图将允许您采用 Pentium10 建议的查询并保存它,使其看起来像一个 table.
- 使用 table 复制和追加写入处置将个人 table 复制到您的年度摘要 table 中。虽然这意味着您需要为新的 table 支付存储费用,但如果您不再需要旧的 table,它还允许您删除它们,并且是最灵活的选择因为这样你就有了一个真正的 table 和组合数据。
您还可以使用 UNION ALL
连接具有相同列的表格。
SELECT
Date, Name, Amount, Value, Type_of_Good
FROM
january
UNION ALL
SELECT
Date, Name, Amount, Value, Type_of_Good
FROM
february
而且您可以 UNION ALL
获得所需的所有月份。
我在 BigQuery 中有月度数据,但我想创建一个年度数据库,这意味着将 12 个子数据库合并为 1 个。
如何实现?
所有 12 个数据库的结构都相同,格式为:
Date, Name, Amount, Value, Type_of_Good
我以为 JOIN 可能对我有帮助,但事实并非如此。
谢谢
您可以使用以下语法
SELECT Date, Name, Amount, Value, Type_of_Good
FROM
(select Date, Name, Amount, Value, Type_of_Good from january ...),
(select Date, Name, Amount, Value, Type_of_Good from february ...),
...
(select Date, Name, Amount, Value, Type_of_Good from december ...)
Pentium10 的建议可行,但您还可以考虑其他两个选项:
- 使用
TABLE_QUERY()
(described here),这将允许您构建一个从多个 table 中进行选择的查询。 - 使用视图 (described here)。请注意,视图目前不能与
TABLE_QUERY
或TABLE_DATE_RANGE
一起使用(尽管该功能应该很快就会出现!)。但是视图将允许您采用 Pentium10 建议的查询并保存它,使其看起来像一个 table. - 使用 table 复制和追加写入处置将个人 table 复制到您的年度摘要 table 中。虽然这意味着您需要为新的 table 支付存储费用,但如果您不再需要旧的 table,它还允许您删除它们,并且是最灵活的选择因为这样你就有了一个真正的 table 和组合数据。
您还可以使用 UNION ALL
连接具有相同列的表格。
SELECT
Date, Name, Amount, Value, Type_of_Good
FROM
january
UNION ALL
SELECT
Date, Name, Amount, Value, Type_of_Good
FROM
february
而且您可以 UNION ALL
获得所需的所有月份。