我想用以下SQL语句,将多条相同记录汇总成一条,并添加至另一表中.(即在记录中凡是course,course_id,textbook,edittion,author,publisher字段相同的,txtnum、exercisenum、revi_filenum相加,)
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  F_DM2.ClientDataSet1.Close;
  F_DM2.ClientDataSet1.CommandText:= select   id,class_id,class_master,class_name,course,course_id,textbook,edittion,
                                     author,publisher,sum(txtnum) as txtno ,sum(exercisenum) as texno,sum(revi_filenum) as trevno into texlist
                                     from clsoder group by   course,course_id,textbook,edittion,author,publisher;
  F_DM2.ClientDataSet1.Excute;
  F_DM2.ClientDataSet1.Open;
  F_DM2.ClientDataSet1.Refresh;
  end;
  end.
1、出错:Undeclared identitier:'select'。什么意思?难道select语句也要声明。
2、其他地方有错的吗?请帮修改一下。非常感谢!

解决方案 »

  1.   

    class_name 和 sum(txtnum) 不能放在一个查询结果里
      

  2.   

    同意楼上的,如果要分组,那么选择的字段必须包含在聚合函数里select sum(字段1),avg(字段2) group by 字段1
      

  3.   

    F_DM2.ClientDataSet1.CommandText:= ‘select   id,class_id,class_master,class_name,course,course_id,textbook,edittion,
                                         author,publisher,sum(txtnum) as txtno ,sum(exercisenum) as texno,sum(revi_filenum) as trevno into texlist
                                         from clsoder group by   course,course_id,textbook,edittion,author,publisher’;
      

  4.   

    先在 查询分析器运行SQL看看 有没有错误 然后 进行操作
      

  5.   

    引号啊;delphi不是pb,sql语句只是传递的string,而不是keyword
      

  6.   

    F_DM2.ClientDataSet1.CommandText:= 'SQL语句 '