在没有关系的情况下用另一个表2的列更新一个表的列

时间:2018-12-11 21:08:23

标签: oracle sql-update

我有一个具有两列的表A,其中列NR为空

Fruit--------------NR
Apple 
Peach
Strawberry
Orange

和表B和一列NR

NR
121
314
422
756

我必须将值从表B的NR列插入表A的NR列 数据顺序并不重要。我只想复制所有值。

1 个答案:

答案 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

相关问题