我必须合并两个不相关的表中的两列,并在另一个表中使用相同的行数,例如
表A:
AColumn
'ABC'
'152'
'XXX'
表B:
BColumn
'FF'
'CD'
'91'
目的地表的预期结果(表C):
CColumn1 CColumn2
'ABC' 'FF'
'152' 'CD'
'XXX' '91'
显然这看起来非常简单,但我无法找到实现目标的方法。
我的尝试将是这样的:
SELECT A.AColumn as CColumn1, B.BColumn as CColumn2 into C
FROM A INNER JOIN B ON 1=1
但这显然会在元素上生成所有可能的组合,而我只希望A中的第一行与B的第一行匹配,第二行与第二行匹配,等等。 有什么帮助吗?
答案 0 :(得分:0)
你需要为每个表添加一个row_number并加入,这是一个使用两个CTE的例子:
with a as (
select AColumn, row_number() over(order by (select null)) rn
from Table1
),
b as (
select BColumn, row_number() over(order by (select null)) rn
from Table2
)
select a.AColumn, b.BColumn
from a full outer join b
on a.rn = b.rn
Sql Fiddle:http://sqlfiddle.com/#!18/291c7/4