有这样一个表
ID  T1  T2
----------------
1   10  11
2   20  21   
3   30  31
4   40  41我想把ID = 2的记录里T1、T2更新给ID = 4的记录,也就是让ID = 4的T1、T2分别等于20、21,如果用一条SQL语句如何实现(请用Access 的SQL语法),请教各位谢谢!

解决方案 »

  1.   

    update table1 set T1=(select T1 from table1 where ID='2'),T2=(select T2 from table1 where ID='2') where ID='4'
      

  2.   

    update table set (T1,T2) values (select T1,T2 from table where ID=4)
    where ID=2
    ok?
      

  3.   


    update table1 set t1=a.t1,t2=a.t2 from table1,(select t1,t2 from table1 where 
    id=2) a
    where id=4
      

  4.   

    78hgdong(赤脚)、whbo(王红波)的写法在SQL Server里可以,但Access数据库里好像不行,各位还有什么高招
      

  5.   

    如果用Access的语法,嘿嘿,好像没什么好办法。真的不知道你这样做的目的是什么?
      

  6.   

    测试通过的:
    UPDATE table1 AS a, table1 AS b SET  a.t1=b.t1,a.t2=b.t2 WHERE a.ID=2 And b.id=4
    另外, whbo的方法我无法通过(好像不是access的SQL语法)
      

  7.   

    再看了下楼主的要求,是将id=2更新到id=4,我上面反了,应该是
    UPDATE table1 AS a, table1 AS b SET  a.t1=b.t1,a.t2=b.t2 WHERE a.ID=4 And b.id=2