UPDATE am_approve_list_log_sammy a SET (a.emp_id, a.approver_sequence, a.approver_id) = (SELECT b.emp_id, b.approver_sequence, b.approver_id FROM am_approve_list_sammy b WHERE b.emp_id = a.emp_id AND b.approver_id = a.approver_id) WHERE EXISTS (SELECT 1 FROM am_approve_list_sammy c WHERE c.emp_id = a.emp_id AND c.approver_id = a.approver_id)
方法二:
update test1 a set name=(select name from test2 b where a.no=b.no) where exists(select name from test2 b where a.no=b.no);
方法三: 涉及到效率问题可以参考下列语句: update (select a.name aname,b.name bname from test1 a,test2 b where a.no=b.no) set aname=bname;
不过有个前提,是给test2表的NO设为主键. alter table test2 add primary key(no);