表A,B结构一样,关联主键id,相同字段进行比较,如果B表中字段值大于A表中对应字段值则更新,否则忽略!
表A  ID ,COL1,COL2
      1   1    6
      2   4    15
表B  ID  COL1,COL2
      1   3    4
      2   5    18
处理后最终得
表A   ID,COL1,COL2
      1   3    6
      2   5    18

解决方案 »

  1.   

    update a set
    a.COL1=case when a.COL1<b.COL1 then b.COL1 else a.COL1 end,
    a.COL2=case when a.COL2<b.COL2 then b.COL2 else a.COL2 end
    from a join b on a.ID=b.ID
      

  2.   

    update A
    set col1=case when B.col1>A.col1 then B.col1 else A.col1,
    col2=case when B.col2>A.col2 then B.col2 else A.col2
    from A
    inner join B on A.id=B.id
      

  3.   

    update 表A set 表A.COL1=表B.COL1 from 表B
    where 表A.id=表B.id and B表.COL1>表A.COL1update 表A set 表A.COL2=表B.COL2 from 表B
    where 表A.id=表B.id and B表.COL2>表A.COL2