表a:                         表b:
ida    name                   idb     name
1      111                    1      111
2      222                    2      111
3      333                    3      111  怎样让a表中name字段的值覆盖b表中name字段的值要结果是
表a:                         表b:
ida    name                   idb     name
1      111                    1      111
2      222                    2      222
3      333                    3      333  

解决方案 »

  1.   

    update b
    set b.[name]=a.[name]
    from a
    where a.[id]=b.[id]
      

  2.   


    update b set name = (select name from a where a.name = b.name) 
      

  3.   


    update b set name = (select name from a where a.[id]= b.[id]) 打错了字段,1楼的方法我试试,我还没用过这种方法。
      

  4.   

    update b set name =(select name from b where b.id=a.id) 
    这样吧
      

  5.   

    a.id改成a.ida 
    b.id改成b.idb
      

  6.   


    update b set name=(select name from a where id=b.id)
      

  7.   

    update b
    set b.[name]=a.[name]
    from a
    where a.[ida]=b.[idb]
      

  8.   

    楼上 ,无法识别的标识符 a.id
      

  9.   

    晕,没注意看是 ida 和 idb,想当然地以为是 id。
      

  10.   

    update b
    set b.[name]=a.[name]
    from a
    where a.[id]=b.[id]
    额,不会吧,这个这个
      

  11.   

    别怀疑,自己试试。这个SQL是正确的。