在SQL中合并两列而没有键,并且列中没有重复项

时间:2020-09-02 10:51:57

标签: sql join toad

无论如何,我们可以独立地合并两列(在“索引”上匹配),并在NULLS中没有匹配项。让我们看下面的例子

col1
-----
A
B
C
D

Col2
----
1
2

所需的输出

 Col1    Col2
 ------------
 A       1
 B       2
 C       
 D       

我尝试了left joininner joinouter joincross join的不同变体

1 个答案:

答案 0 :(得分:1)

您可以使用row_number()进行此操作。一种方法:

select t1.col1, t2.col2
from (select t1.*, row_number() over (order by col1) as seqnum
      from table1 t1
     ) t1 full join
     (select t2.*, row_number() over (order by col2) as seqnum
      from table1 t2
     ) t2
     on t2.seqnum = t1.seqnum;

注意:无论哪个表有更多行,此方法都有效。

相关问题