select into temp1 bm,sum(a1),sum(a2),sum(a3) from czbtem group by bmselect into temp2 bm,' ' as dw,a1,a2,a3 from temp1insert into temp2 select dw,dw,a1,suma2,suma3 from czbteminsert into caztem1 select bm,dw,a1,a2,a3 from temp2 ordery by bm,dw//.... drop temp1...drop temp2
按下面的写法还是出错,提示是into...... query1.close; query1.sql.clear; query1.sql.add('delete from czbtem1'); query1.execsql;query1.close; query1.sql.clear; query1.sql.add('select into czbtem1 bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm'); query1.open; 应该怎么写呢?
query1.close; query1.sql.clear; query1.sql.add('delete from czbtem1'); query1.execsql;query1.close; query1.sql.clear; query1.sql.add('select into czbtem1 bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm'); query1.execsql; czbtem1 经存在了!!! 那么要这样。 insert into czbtem1 select bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm另外 czbtem1的字段要和SELECT 的一致。
按照下面这样也还是出错,说是“病人的关键字”,请问怎么修改? procedure TForm1.Button5Click(Sender: TObject); begin query1.close; query1.sql.clear; query1.sql.add('delete from czbtem1'); query1.execsql;query1.close; query1.sql.clear; query1.sql.add('insert into czbtem1 select bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm'); query1.open;end;
//czbtem1的字段要和SELECT 的一致!!! //要分清是选取表等信息(open)还是执行SQL(execsql)!!! procedure TForm1.Button5Click(Sender: TObject); begin query1.close; query1.sql.clear; query1.sql.add('drop czbtem1'); //记不清楚了,好久桌面一直在用assse了。 query1.execsql;query1.close; query1.sql.clear; query1.sql.add('select into czbtem1 bm,sum(a1) by a1,sum(a2) by a2,sum(a3) by a3 from czbtem group by bm'); query1.execsql;end;
//or try it: begin query1.close; query1.sql.clear; query1.sql.add('delete from czbtem1'); query1.execsql;query1.close; query1.sql.clear; query1.sql.add('insert into czbtem1 select bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm'); query1.execsql;
执行下面语句出现错误信息是:Invalid Parameter,再请教应该怎么修改呢? begin query1.close; query1.sql.clear; query1.sql.add('delete from czbtem1'); query1.execsql;query1.close; query1.sql.clear; query1.sql.add('insert into czbtem1 select bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm'); query1.execsql;
//czbtem1的字段要和SELECT 的一致!!! 'select into czbtem1 bm,sum(a1) by a1,sum(a2) by a2,sum(a3) by a3 from czbtem group by bm
表结构及数据如下:
czbtem.db
bm dw a1 a2 a3
江苏省 纺织厂 100 50 0
江苏省 化纤厂 60 100 40
安徽省 锅炉厂 80 20 400
安徽省 五金厂 90 10 500使用sql怎么写语句得出按bm为关键字段的汇总数据到czbtem1.db如下的结果:
bm dw a1 a2 a3
江苏省 160 150 40
江苏省 纺织厂 100 50 0
江苏省 化纤厂 60 100 40
安徽省 170 30 900
安徽省 锅炉厂 80 20 400
安徽省 五金厂 90 10 500
from
czbtem
group by bmselect into temp2 bm,' ' as dw,a1,a2,a3
from temp1insert into temp2
select dw,dw,a1,suma2,suma3
from
czbteminsert into caztem1
select bm,dw,a1,a2,a3
from
temp2
ordery by bm,dw//.... drop temp1...drop temp2
query1.close;
query1.sql.clear;
query1.sql.add('delete from czbtem1');
query1.execsql;query1.close;
query1.sql.clear;
query1.sql.add('select into czbtem1 bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm');
query1.open;
应该怎么写呢?
query1.sql.clear;
query1.sql.add('delete from czbtem1');
query1.execsql;query1.close;
query1.sql.clear;
query1.sql.add('select into czbtem1 bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm');
query1.execsql;
czbtem1 经存在了!!!
那么要这样。
insert into czbtem1
select bm,sum(a1),sum(a2),sum(a3) from czbtem
group by bm另外 czbtem1的字段要和SELECT 的一致。
procedure TForm1.Button5Click(Sender: TObject);
begin
query1.close;
query1.sql.clear;
query1.sql.add('delete from czbtem1');
query1.execsql;query1.close;
query1.sql.clear;
query1.sql.add('insert into czbtem1 select bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm');
query1.open;end;
//要分清是选取表等信息(open)还是执行SQL(execsql)!!!
procedure TForm1.Button5Click(Sender: TObject);
begin
query1.close;
query1.sql.clear;
query1.sql.add('drop czbtem1'); //记不清楚了,好久桌面一直在用assse了。
query1.execsql;query1.close;
query1.sql.clear;
query1.sql.add('select into czbtem1 bm,sum(a1) by a1,sum(a2) by a2,sum(a3) by a3 from czbtem group by bm');
query1.execsql;end;
//or try it:
begin
query1.close;
query1.sql.clear;
query1.sql.add('delete from czbtem1');
query1.execsql;query1.close;
query1.sql.clear;
query1.sql.add('insert into czbtem1 select bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm');
query1.execsql;
begin
query1.close;
query1.sql.clear;
query1.sql.add('delete from czbtem1');
query1.execsql;query1.close;
query1.sql.clear;
query1.sql.add('insert into czbtem1 select bm,sum(a1),sum(a2),sum(a3) from czbtem group by bm');
query1.execsql;
'select into czbtem1 bm,sum(a1) by a1,sum(a2) by a2,sum(a3) by a3 from czbtem group by bm