这个问题想了好久没有实现出来,假设 talbeA 内容为
字段   A   B  C   D
       ---------------
       1   e  11  null
       11  f  11  null
       33  g  1   null
       22  h  22  null怎么实现把tableA的D字段根据C和A的匹配结果更新为: 
 D
----
 f
 f
 e
 h谢谢

解决方案 »

  1.   

    UPDATE A SET
        D = B.B
    FROM tableA A, tableA B
    WHERE A.C = B.A
      

  2.   

    CREATE TABLE tableA([A] int, [B] varchar(10), [C] int, [D] varchar(10))
    INSERT INTO tableA
        SELECT  1, 'e', 11, null
        UNION ALL SELECT 11, 'f', 11, null
        UNION ALL SELECT 33, 'g', 1, null
        UNION ALL SELECT 22, 'h', 22, nullUPDATE A SET
        D = B.B
    FROM tableA A
    INNER JOIN tableA B
    ON A.C = B.ASELECT * FROM tableADROP TABLE tableAA           B          C           D          
    ----------- ---------- ----------- ---------- 
    1           e          11          f
    11          f          11          f
    33          g          1           e
    22          h          22          h