试试使用存储过程: creat proc TransData as select table1.a,table1.b,table2.c into temp from table1,table2 where table1.a=table2.a delete from table1 insert into table1 select * from temp drop table temp
table2中同一个a有不同的c你打算怎么处理
使用一个Query。 Query1.Close; Table2.First; While not Table2.Eof do begin Query1.SQL.Text:='Update 表1 set c = '+''''+Table2['c']+''''+' where a = '+''''+Table2['a']+''''; Query1.ExecSQL; Table2.Next; end;
select p.c=q.c FROM table1 AS p INNER JOIN table2 AS q ON p.a=q.a
creat proc TransData
as
select table1.a,table1.b,table2.c
into temp
from table1,table2
where table1.a=table2.a
delete from table1
insert into table1
select * from temp
drop table temp
Query1.Close;
Table2.First;
While not Table2.Eof do
begin
Query1.SQL.Text:='Update 表1 set c = '+''''+Table2['c']+''''+' where a = '+''''+Table2['a']+'''';
Query1.ExecSQL;
Table2.Next;
end;
FROM table1 AS p INNER JOIN table2 AS q
ON p.a=q.a