update iesavemt03d1 set mt_area=b.mt_area from iesavemt03d1 a
             left join iepb07h_t b on a.el_ono=b.el_ono  
case when Left(a.bin_no, 4)='GOOD' then left(b.mt_area,2)<> 'GN'ELSE  left(b.mt_area,2)= 'GN'  end  ====这个你想实现什么?
             where b.mt_area<>''

解决方案 »

  1.   

    update iesavemt03d1 set mt_area=b.mt_area from iesavemt03d1 a
                 left join iepb07h_t b on a.el_ono=b.el_ono  
                 and case when Left(a.bin_no, 4)='GOOD' 
                     then left(b.mt_area,2)<> 'GN' 
                     ELSE  left(b.mt_area,2)= 'GN'  
                     end 
                 where b.mt_area<>''
      

  2.   

    update a 
    set mt_area=b.mt_area from iesavemt03d1 a
    left join iepb07h_t b on a.el_ono=b.el_ono  and 
    Left(a.bin_no, 4)=case when Left(a.bin_no, 4)='GOOD' then null ELSE   'GN'  end 
    where b.mt_area<>''