我有2个查询以以下形式返回数据:
查询1:
column 1
a
b
c
查询2:
column 2
d
e
如何结合这两个查询以获取输出:
column 1 column 2
a d
b e
c
列中的数据顺序无关紧要。 可能有联接吗?
谢谢
答案 0 :(得分:1)
一个可能的解决方案是使用row_number()选择两个列,并通过row_number将它们连接起来。必须知道要从具有较高行数的表中首先选择。示例:
select
col_1,
col_2
from (
select
a.col_1,
row_number() over () rn
from a
) s1
FULL OUTER JOIN (
select
b.col_2,
row_number() over () rn
from b
) s2 on s1.rn = s2.rn
答案 1 :(得分:1)
使用row_number()
select t1.col1,t2.col2 from
(
select *,row_number() over(order by col1) rn from query1
) t1 full outer join
(
select *,row_number() over(order by col2) rn from query2
) t2 on t1.rn=t2.rn
对于n,m行使用完全外部联接