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 的建议可行,但您还可以考虑其他两个选项:

  1. 使用 TABLE_QUERY() (described here),这将允许您构建一个从多个 table 中进行选择的查询。
  2. 使用视图 (described here)。请注意,视图目前不能与 TABLE_QUERYTABLE_DATE_RANGE 一起使用(尽管该功能应该很快就会出现!)。但是视图将允许您采用 Pentium10 建议的查询并保存它,使其看起来像一个 table.
  3. 使用 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 获得所需的所有月份。