t1中有字段 A B C D E. T2中有字段A B C D E
条件是两表的ABC字段值相同,再把T2表DE字段的值替换到T1表DE字段.
用SQL语名join  ON 知道怎么处理.现请叫如何用一个循环语句来做这个替换.请叫了.

解决方案 »

  1.   

    update T1 set T1.D=T2.D,T1.E=T2.E
    from T1,T2
    where T1.A=T2.A and T1.B=T2.B and T1.C=T2.C
      

  2.   

    用DELPHI写呀.
    unsigned僵哥 你这个只能替换第一条记录哟!
      

  3.   

    使用Query/ADOQuery/ADOCommand不就可以执行了?谁告诉你这个只能替换一条记录?除非里面只有一条匹配记录。又或者你只想替换一条记录的话,可以再附加条件。另外,我希望的是,能够主动测试。而不是直接说“unsigned僵哥 你这个只能替换第一条记录哟!”。
      

  4.   


    procedure formButton1click(Sender:TObject);
    var
      str:string;
    begin
      str:='update t1 ' +
           'set D=b.D,E=b.E '+
           'from t1 a join t2 b ' +
           'on a.A=b.A and a.B=b.B and a.C=b.C';
      with adoquery1 do
        begin
          close;
          sql.clear;
          sql.add(str);
          execsql; 
        end;
    end;