Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 合并两个表中的两列_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql server 合并两个表中的两列

Sql server 合并两个表中的两列,sql-server,sql-server-2005,Sql Server,Sql Server 2005,我必须合并两个不相关表中的两列,在另一个表中具有相同行数,如 表A: AColumn 'ABC' '152' 'XXX' 表B: BColumn 'FF' 'CD' '91' 目标表(表C)的预期结果: 显然,这看起来很简单,但我找不到实现它的方法 我的尝试是这样的: SELECT A.AColumn as CColumn1, B.BColumn as CColumn2 into C FROM A INNER JOIN B ON 1=1 但这显然会在元素上生成所有可能的组

我必须合并两个不相关表中的两列,在另一个表中具有相同行数,如

表A:

AColumn
 'ABC'
 '152'
 'XXX'
表B:

BColumn
  'FF'
  'CD'
  '91'
目标表(表C)的预期结果:

显然,这看起来很简单,但我找不到实现它的方法

我的尝试是这样的:

SELECT A.AColumn as CColumn1, B.BColumn as CColumn2 into C
FROM A INNER JOIN B ON 1=1
但这显然会在元素上生成所有可能的组合,而我只希望A中的第一行与B中的第一行匹配,第二行与第二行匹配,等等。
有什么帮助吗?

您需要在每个表中添加一个行号,并将其连接起来,下面是一个使用两个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:

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