从另一个表中更新多条记录到一个表中,基于每一个表中的一个列相等(user_id)。
两个表都有一个 "user_id "列。 当 "user_id "列相等时,需要将数据从 "t2 "插入到 "t1"。
提前感谢您提供的任何帮助。
update
table1 t1
set
(
t1.column1,
t1.column2
) = (
select
t2.column1,
t2.column2
from
table2 t2
where
t2.column1 = t1.column1
)
where exists (
select
null
from
table2 t2
where
t2.column1 = t1.column1
);
或者这样(如果t2.column1 <=>t1.column1是多对一,而且任何一个都是好的):
update
table1 t1
set
(
t1.column1,
t1.column2
) = (
select
t2.column1,
t2.column2
from
table2 t2
where
t2.column1 = t1.column1
and
rownum = 1
)
where exists (
select
null
from
table2 t2
where
t2.column1 = t1.column1
);