我有一个带有两列的表A
,其中列NR
为空
Fruit--------------NR
Apple
Peach
Strawberry
Orange
和具有一列NR
的表B
NR
121
314
422
756
我必须将表B中NR列的值插入表A中NR列数据的顺序并不重要。我只想复制所有值。
Probable最简单的解决方案是创建一个新表,并用列绑定的数据填充它。
您将使用基于为两个表定义的row_number
的联接,按的某个顺序。请注意,要求两个表具有相同的行数,否则较长表中的某些列将被忽略。
查询
insert into new_a (fruit,nr)
with fruit as (
select fruit,
row_number() over (order by fruit) rn from a),
nr as (
select nr,
row_number() over (order by nr) rn
from b)
select fruit, nr from fruit join nr
on fruit.rn = nr.rn;
换句话说,您必须首先定义意义,即在两个表中排序,您可以执行列UNION。