一: strSQL.Format("select sum(sale_amount1),sum(sale_amount2) from    historylog  group by type_name");
rsIn.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
报:"SELECT statement contains a GROUP BY clause".错
二: 如果把上述的group by 去掉,会报"参数不足,期待 4”
     天啦,把SUM 也去掉就OK,但是对我有什么用呢?
三:再改为“select sum(sale_amount1) ,sum(sale_amount2) from historylog where type_name='AA'  ”报什么
“试图查询的汇总语句不包含type_name ....”大概是这类信息,天啦,让我撞墙吧,
难道ACESS用ODBC 连SUM,GROUP BY ,等标准查询都用不了吗,请救救我,高分求助!!!

解决方案 »

  1.   

    改为试试
    select type_name, sum(sale_amount1),sum(sale_amount2) from    historylog  group by type_name
      

  2.   

    好像group by 中的字段,必须在select中出现!!
      你按上面的改下试试
      

  3.   

    那个我早试过,没用;
    select type_name,type_number,type_weight ,sum(sale_amount1),sum(sale_amount2) from    historylog  group by type_name,type_number,type_weight
    这个应该不是原因,我在SYBASE下的SQL就是这么用的;
    来点真的功夫!!!!!!!!!!!!
      

  4.   

    救命啊,已经三天三夜了,救命啊;
    我要是用不了这些SUM,我用C去累加是会被他们玩死的啊,
    救命啊
      

  5.   

    把sql 语句放在access中直接执行,看出错吗?首先要判断是sql语句出错,还是VC中的ODBC语句出错。
      

  6.   

    你用的是CRecordSet类吗?是不是因为你select中的字段数目和你的类中映射出的字段数不同呢,我以前遇到过这样的问题!
      

  7.   

    zjp899(翱翔之鹰):我用的是CRecordSet,类中只那两个字段,在数据库都是单精度的;
    你当时,是怎么解决的啊;
    small_wei(small) :在ACESS中怎么执行SQL啊,在SYABSE下我是知道的,真的请指教一下?
      

  8.   

    在ACCESS中可以直接执行SQL的。在查询里面。语句没有看出什么问题来。
      

  9.   

    我只想问一句,ODBC方法CRecordSet类,ACESS数据库,究竟能不能用SUM,GROUP BY?
    对这个记录集的构造有什么特殊要求;
      

  10.   

    我刚才做了一个实验,我将记录集在构造的时候,在选择Advance 中将Bind all columns的勾去掉好象用GROUP BY 没报错
      

  11.   

    对不起,刚才发错了,我用的是db.EXEC...,所以没报错,用rs.Open还是一样的,绝望手工