Oracle:组合具有不同列的两个表
这是表1:Oracle:组合具有不同列的两个表,oracle,join,merge,union,database-table,Oracle,Join,Merge,Union,Database Table,这是表1: col_1 col_2 date_1 ----- ----- ------ 1 3 2016 2 4 2015 这是表2: col_3 col_4 date_2 ----- ----- ------ 5 8 2014 6 9 2012 我想要这样的结果: col_1 col_2 col_3 col_4 date_1 date_2 ----- ----- ----- --
col_1 col_2 date_1
----- ----- ------
1 3 2016
2 4 2015
这是表2:
col_3 col_4 date_2
----- ----- ------
5 8 2014
6 9 2012
我想要这样的结果:
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
有什么解决方案吗?使用
联合所有人:
select col_1, col_2, NULL as col_3, NULL as col_4, date_1, NULL as date_2
from table1
union all
select NULL, NULL, col_3, col_4, NULL, date_2
from table2;
使用联接:
select t1.col_1,t1.col_2,t2.col_3,t2.col_4,t1.date_1,t2.date_2
from t1
full join t2
on t1.col_1=t2.col_3
order by t1.col_1;
使用Union All
和Null
作为不同的列:
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
连接、并集或并集都没有成功。我们可以将此结果合并为一行吗?