我有一个具有两列的表A
,其中列NR
为空
Fruit--------------NR
Apple
Peach
Strawberry
Orange
和表B
和一列NR
NR
121
314
422
756
我必须将值从表B的NR列插入表A的NR列 数据顺序并不重要。我只想复制所有值。
答案 0 :(得分:0)
可能最简单的解决方案是创建一个新表,并使用列绑定数据填充该表。
您将基于 some 顺序为两个表定义的row_number
使用联接。请注意,要求两个表的行数相同,否则 long 表中的某些列将被忽略。
查询
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 。