Oracle:将两个表组合在一起使用不同的列

Sab*_*eti 2 oracle union merge join database-table

这是表1:

col_1  col_2  date_1
-----  -----  ------
1      3      2016
2      4      2015
Run Code Online (Sandbox Code Playgroud)

这是表2:

col_3  col_4  date_2
-----  -----  ------
5      8      2014
6      9      2012
Run Code Online (Sandbox Code Playgroud)

我想要一个这样的结果:

col_1  col_2  col_3  col_4  date_1  date_2
-----  -----  -----  -----  ------  ------
1      3      NULL   NULL   2016    NULL
2      4      NULL   NULL   2015    NULL
NULL   NULL   5      8      NULL    2014
NULL   NULL   6      9      NULL    2012
Run Code Online (Sandbox Code Playgroud)

有解决方案吗

Ehs*_*san 6

使用Union AllNull作为不同的列:

SELECT col_1, col_2, NULL as col_3, NULL as col_4,
       date_1, NULL as date_2
FROM table_1

Union All

SELECT NULL, NULL, col_3, col_4, NULL, date_2
FROM table_2
Run Code Online (Sandbox Code Playgroud)

  • 我们可以将这个结果合并在一行中吗? (2认同)