两桌联合

时间:2019-06-12 21:00:26

标签: sql

我需要连接两个表,如下所示:

table 1

K a b c
P x x x
P x x x
P x x x

table 2

K a b c 
P x x x
P x x x
P x x x

Final table

K a b c d e f
P x x x . . .
P x x x . . .
P x x x . . .
P . . . x x x
P . . . x x x
P . . . x x x

我尝试过的所有工会都无法正确获得我的结果。

谢谢!

2 个答案:

答案 0 :(得分:1)

我认为最简单的方法是使用full join

select t1.*, t2.*
from table1 t1 full join
     table2 t2
     on 1 = 0;   -- never true

答案 1 :(得分:1)

您也可以尝试其他答案,这个答案特别可以回答您的问题,并且比加入更快。因为没有条件

SELECT t1.p, t1.a, t1.b, t1.c, '0' d, '0' e, '0' f
FROM table1 t1 
UNION ALL
SELECT t2.p, '0' a, '0' b, '0' c, t2.a d, t2.b e, t2.c f 
FROM table2 t2