现有两个表A                              表B
     a1      a2                     b1        b2
     1      数据1                   2        数据5
     2      数据2                   4        数据6
     3      数据3
     4      数据4
要对表A进行更新,使表A为:
     a1     a2
     1      数据1
     2      数据5
     3      数据3
     4      数据6
要怎么才能实现????

解决方案 »

  1.   

    Update
    A
    Set
    a2 = B.b2
    From
    A
    Inner Join
    B
    On A.a1 = B.b1
      

  2.   


    Update
    A
    Set
    a2 = B.b2
    From
    A, B
    Where A.a1 = B.b1
      

  3.   

    Update
    A
    Set
    a2 = IsNull((Select b2 From B Where b1 = A.a1), a2)
    From
    A
      

  4.   

    现有两个表A                              表B
         a1      a2                     b1        b2
         1      数据1                   2        数据5
         2      数据2                   4        数据6
         3      数据3
         4      数据4
    update A
    set a2 = b.b2
    from a,b
    where a.a1 = b.b1
      

  5.   

    if object_id('pubs..A') is not null
       drop table A
    gocreate table A(a1 int,a2 varchar(10))
    insert into A(a1,a2) values(1,      '数据1')
    insert into A(a1,a2) values(2,      '数据2')
    insert into A(a1,a2) values(3,      '数据3')
    insert into A(a1,a2) values(4,      '数据4')
    goif object_id('pubs..B') is not null
       drop table B
    gocreate table B(b1 int,b2 varchar(10))
    insert into B(b1,b2) values(2,      '数据5')
    insert into B(b1,b2) values(4,      '数据6')
    goupdate A
    set a2 = b.b2
    from a,b
    where a.a1 = b.b1select * from adrop table A,B/*
    a1          a2         
    ----------- ---------- 
    1           数据1
    2           数据5
    3           数据3
    4           数据6(所影响的行数为 4 行)
    */