如我有表
Name Code Price
A    A1   11
B    B2   32
C    C1   45
D    E1   11 
--------------------
然后我现在要更新所有的Code和Price都为Name=D的Code和Price谢谢

解决方案 »

  1.   

    update tb set code=(select code from tb where name='d'),price=(select code from tb where name='d')
      

  2.   

    update set  code='code',price='price'
    where name='d'
      

  3.   

    UPDATE TB SET CODE=(SELECT TOP 1 CODE FROM TB WHERE NAME='D'),
    PRICE=(SELECT TOP 1 PRICE FROM TB WHERE NAME='D')
      

  4.   

    --name是唯一的时
    update tb set code=(select code from tb where [name]='D'),
                  price=(select code from tb where [name]='D')
      

  5.   

    --name是唯一的时
    update tb set code=(select code from tb where [name]='D'),
                  price=(select price from tb where [name]='D')
      

  6.   

    --name不是唯一的时,取最大或最小
    update tb set code=(select min(code) from tb where [name]='D'),
                  price=(select min(price) from tb where [name]='D')
      

  7.   

    update a set a.code=b.code, a.price=b.price 
    from a inner join b on a.name=b.name
    where a.name='D'