您好我试图使用另一个包含两个内部联接的表的值来更新表中列的值。
但是我的查询一直出错,这是否可以通过Oracle来更新具有两个内部联接的表。
update finaltbl1
(
select table1.old_val, table3.new_val
from
table1
inner join
table2
on table1.id = table2.id
inner join
table3.name = table2.name
) finaltable1
set
x.old_val = y.new_val
或者是否需要将"合并到"
谢谢,
答案 0 :(得分:0)
你可以这样更新:
update table1 t1
set old_val = (
select table3.new_val
from table2 inner join table3 on table3.name = table2.name
where table2.id = t1.id
)
where exists (
select table3.new_val
from table2 inner join table3 on table3.name = table2.name
where table2.id = t1.id
)