2016-11-02 46 views
2

这是表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 
----- ----- ----- ----- ------ ------ 
1  3  NULL NULL 2016 NULL 
2  4  NULL NULL 2015 NULL 
NULL NULL 5  8  NULL 2014 
NULL NULL 6  9  NULL 2012 

任何解决方案

+0

加盟,联盟或联均无功而返。 –

回答

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 
2

使用union all

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; 
0

使用加入:

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;