我有一个以下任务:我在一个过程中有两个单列表,它们都有相同的行数。我想“合并”它们,所以我得到一个包含2列的结果表。我有一些简单的方法吗?
在最糟糕的情况下,我可以尝试添加主键并将INSERT INTO ... SELECT
与JOIN
一起使用,但它需要对我已有的代码进行相当大的更改,所以我决定问你们。
请在下面解释我的答案,这是一个例子。我有以下表格:
tableA
col1
----
1
2
3
4
tableB
col2
----
a
b
c
d
Resulting table:
col1 | col2
1 | a
2 | b
3 | c
4 | d
答案 0 :(得分:9)
你可以这样做:
SELECT t1.col1, t2.col1 AS col2
INTO NewTable
FROM
(
SELECT col1, ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS RN
FROM table1
) AS t1
INNER JOIN
(
SELECT col1, ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS RN
FROM table2
) AS t2 ON t1.rn = t2.rn
这将创建一个全新的表NewTable
,其中包含两个表中的两列:
| COL1 | COL2 |
---------------
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
请在此处查看: