insert into czbtem1
select dw,sum(a1),sum(a2),sum(a3)
from
czbtem
group by dwm

解决方案 »

  1.   

    对不起!刚才写错了,应该是
    表结构及数据如下:
    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
      
      

  2.   

    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
      

  3.   

    按下面的写法还是出错,提示是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;
    应该怎么写呢?
      

  4.   

    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 的一致。
      

  5.   

    按照下面这样也还是出错,说是“病人的关键字”,请问怎么修改?
    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;
      

  6.   

    //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;
     
      

  7.   

    执行下面语句出现错误信息是: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;
      

  8.   

    //czbtem1的字段要和SELECT 的一致!!!
    'select into czbtem1 bm,sum(a1) by a1,sum(a2) by a2,sum(a3) by a3 from czbtem group by bm