假如我有aa.mdb这么一个数据库
表a的记录为
id      name  tel
000001   a
000002   as
......
999999   sds
表b的记录为
id      tel
000001  6303211
000002  6320233
......
999999  8854652
我想将两个表合起来变成
id     name    tel
000001  a      6303211
000002  as    6320233
......
999999  sds   8854652
用哪个办法速度比较快一点呀?
我用循环做要好几分钟了!
adoquery6.Close;
adoquery6.SQL.Clear;
adoquery6.SQL.Add('select * from 表a ');
adoquery6.open;
while not adoquery6.eof do
adoquery4.Close;
adoquery4.SQL.Clear;
adoquery4.SQL.Add('update cy set tel=:tel where id=:id' );
adoquery4.Parameters[0].Value:=adoquery6.Fields[1].Value;
adoquery4.Parameters[1].Value:=adoquery6.Fields[0].Value;
adoquery4.ExecSQL;
adoquery6.Next;
end

解决方案 »

  1.   

    Select id,name,tel  From 表A, 表B Where 表A.ID=表B.ID   //这样不就可以了吗??
      

  2.   

    with adoquery1 do
    begin
      close;
      sql.clear;
      sql.add('Select A.id,name,B.tel  From 表A A, 表B B Where A.ID=B.ID');
      open;   
    end;
      

  3.   

    with AdoQuery1 do
    begin
      Close;
      Sql.Clear;
      Sql.Add('Select A.ID,A.Name,B.Tel');
      Sql.Add('From a A Left join b B on A.ID = B.ID');
      Open;
    end;
      

  4.   

    Update A
    set A.Tel=B.Tel
    from a A
    left join b B on A.ID=B.ID
      

  5.   

    没说清楚,他们是叫你给Query控件指定一个Update控件,然后在这个控件中写上传代码。Update控件的用法请自己查书或查询DELPHI的HELP。