yg1和yg2表yg1      yg2xm       xm
xb       xb
nl       nl
ygh      ygh 想把yg2中的ygh更新为yg1中的ygh 条件是yg1.xm=yg2.xm 而且 yg1中的xm只要有重名的就不更新,请问各位高手查询语句应该怎么写

解决方案 »

  1.   

    update a
    set ygh=b.ygh
    from yg2 a
    inner join yg1 b on a.xm=b.xm
    where not exists(
    select 1 from (select xm from yg1 group  by xm having COUNT(*)>1)t
    where b.xm=t.xm)
      

  2.   

    想把yg2中的ygh更新为yg1中的ygh, 条件是除去yg1中xm重名的前提下,yg1.xm等于yg2.xm 请问各位高手查询语句应该怎么写
      

  3.   

    这个不复杂,update 语句的语法搞清楚就好:update yg2 set ygh=B.ygh
    from yg2 a join (
    select xm,max(ygh) ygh from yg1
    group by xm
    having COUNT(*)=1 
    ) b on a.xm=b.xm