条件1:
user_id money
1001 217
1002 500
1003 425
条件2:
user_id money
1001 aaa
1002 500
1003 bb
目标:(就是条件2将条件1相同user_id的money替换掉)
user_id money
1001 aaa
1002 500
1003 bb很急!!!!
user_id money
1001 217
1002 500
1003 425
条件2:
user_id money
1001 aaa
1002 500
1003 bb
目标:(就是条件2将条件1相同user_id的money替换掉)
user_id money
1001 aaa
1002 500
1003 bb很急!!!!
a.user_id in(select user_id from 条件2)
set money = (select money from 条件2 where 条件2.user_id = 条件1.user_id)
where 条件1.user_id in (select user_id from 条件2)
相同表结构的表关联表更新,你也可以参考:
oracle 更新相同表问题
create table t2(user_id varchar2(50), money varchar2(50));
insert into t1 values ('1001','217');
insert into t1 values ('1002','500');
insert into t1 values ('1003','425');
insert into t2 values ('1001','aaa');
insert into t2 values ('1002','500');
insert into t2 values ('1003','bb');merge into t1 using t2 on
(t1.user_id=t2.user_id)
when matched then
update set money=t2.money;
select * from t1
user_id money
1001 aaa
1002 500
1003 bb
set money = (select money from 条件2 where 条件2.user_id = 条件1.user_id)
where 条件1.user_id in (select user_id from 条件2)