try:
update emp
set emp.emp_name = (select max(employee.name) from employee 
where employee.id = emp.emp_id)
where exists(select employee.name from employee 
where employee.id = emp.emp_id)

解决方案 »

  1.   

    try:
    update emp
    set emp.emp_name = (select max(employee.name) from employee 
    where employee.id = emp.emp_id)
    where exists(select employee.name from employee 
    where employee.id = emp.emp_id)
      

  2.   

    merge into emp em
    using employee e
    on (em.emp_id = e.id)
    when matched then
    update set em.emp_name = e.name
    when not matched then
    insert values(e.id,e.name);
      

  3.   

    加上EXIST后面的判断是否对应存在的语句就可以,否则对应找不到的将全部被设置为空了