【问题标题】:Union tables with different columns without specifying the columns - GBQ具有不同列但未指定列的联合表 - GBQ
【发布时间】:2021-09-02 03:24:42
【问题描述】:

我想以类似于外部联合 (https://stackoverflow.com/a/52524364/11883834) 的工作方式将多个表联合在一起。

我希望能够做到这一点,而无需指定预先选择的列,我想从所有表中选择所有列并将它们合并在一起,在没有说明的情况下将列中的空值添加到表中列。

例如

Table1
+---+---+
| a | b |
+---+---+
| 1 | X |
| 2 | Y |
+---+---+

Table2

+---+---+
| b | d |
+---+---+
| U | 1 |
+---+---+

Table3
+---+---+
| a | d |
+---+---+
| B | Y |
| Z | 5 |
+---+---+

Resultant Table
+----+----+---+
| a  | b  | d |
+----+----+---+
|  1 | X  |   |
|  2 | Y  |   |
|    | U  | 1 |
|  B |    | Y |
|  Z |    | 5 |
+----+----+---+

【问题讨论】:

标签: sql google-bigquery union


【解决方案1】:

您可以避免使用FULL JOIN 选择SELECT 中的列。但您仍应将它们包含在 FROM 子句中:

select *
from table1 t1 full join
     table2 t2
     using (b) full join
     table3 t3
     using (a, d);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2013-04-09
    相关资源
    最近更新 更多