BigQuery - 合并表

Ilj*_*lja 7 multiple-databases google-bigquery

我在 BigQuery 中有每月数据,但我想创建一个年度数据库,这意味着将 12 个子数据库合并为 1 个。

怎么做到呢?

所有 12 个数据库的结构在形式上都是相同的:

日期、名称、金额、价值、Type_of_Good

我认为 JOIN 可能对我有帮助,但事实并非如此。

谢谢

Pen*_*m10 7

您可以使用以下语法

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 ...)
Run Code Online (Sandbox Code Playgroud)

  • 更简单的一个: SELECT Date, Name, Amount, Value, Type_of_Good FROM [一月],[二月],[三月] (2认同)

Jor*_*ani 7

Pentium10 的建议可行,但您也可以考虑另外两个选项:

  1. 使用TABLE_QUERY() (在此处描述)这将允许您构建一个从多个表中进行选择的查询。
  2. 使用视图(在此处描述)。请注意,视图当前不能与TABLE_QUERYor一起使用TABLE_DATE_RANGE(尽管该功能应该很快就会推出!)。但是视图允许您采用 Pentium10 建议的查询并将其保存,使其看起来像一个表。
  3. 使用带有 append 写入配置的表副本将各个表复制到您的年度汇总表中。虽然这意味着您需要为新表的存储付费,但如果您不再需要旧表,它还可以让您删除旧表,这是最灵活的选择,因为这样您就有了一个真正的表合并数据。