create table test1( code1 varchar2(20), code2 varchar2(20), code3 varchar2(20))insert into test1 select '01' code1,null code2,'str1' code3 from dual union all select '0101','str1','1234' from dual union all select '0102','str1','2345' from dual union all select '02',null,'str2' from dual union all select '0201','str2','456789' from dual commit; select * from test1;
update test1 t1 set code2 = (select code1 from test1 t2 where t1.code2 = t2.code3)
code1 varchar2(20),
code2 varchar2(20),
code3 varchar2(20))insert into test1
select '01' code1,null code2,'str1' code3 from dual union all
select '0101','str1','1234' from dual union all
select '0102','str1','2345' from dual union all
select '02',null,'str2' from dual union all
select '0201','str2','456789' from dual
commit;
select * from test1;
update test1 t1 set code2 = (select code1 from test1 t2 where t1.code2 = t2.code3)