我有一个统计报表,数据量大约有10万条记录,我需要从这10万条记录中生成另外的一张表,这张表是从另一个表中计算生成的,我现在的实现方法是一条一条去进行操作,请问还有没有另外更加高效的方法。我现在是
Q_tjb_wz.Close;
      Parameters.ParamByName('ZQMJ').Value:=pv_zqmj1;
      Parameters.ParamByName('clsj').Value:=pv_clsj;
      Parameters.ParamByName('src').Value:=pv_src1;
open;
每在新表上进行操作就要进行如上的操作。我在新表里不是简单地插入另一张表的select结果而是对新表进行按分类进行累加不够分再加

解决方案 »

  1.   

    可以用
    insert into 表1 (field1,field2,field3...)
    select field1,field2,field3 from 表2
    where ...
    group by ...这样的语句,效率高不止一个数量级。
      

  2.   

    你的这种方法不可取,效率太低
    就你所描述,完全可以用一select搞定
    你描述清楚,具体要做什么
    然后给我发短信
      

  3.   

    insert into table2 select ... from table1 where ...
    select 的字段与insert的字段一一对应
      

  4.   

    没有into 
    应该是 insert Table2(Field1,Field2,Field3) 
    select Field1,Field2,Field3 from Table1
    where ...
      

  5.   

    insert Table2(name,mysum) 
    select name,sum(num) from Table1 group by name