我用ADO连的数据库,语句如下:
with adoquery1 do
     begin
       close;
       sql.Clear;
       sql.Add('select * from tabname where .... ');  
       sql.Add('group by ...');     
       open;
     end;
可是我在运行是出错提示:
不能将已选定的‘*’的字段中组合。
请问是为什么呀?

解决方案 »

  1.   

    *用group by 后的字段替换,也可加上聚合函数所得字段,如 count(字段名)等。
      

  2.   

    select Field1,聚合函数(sum,avg,max,min等) from ...
    group by Field1
    并不是所有的字段都可以放到Select里的
      

  3.   

    我写的代码如下:
    with adoquery1 do
         begin
           close;
           sql.Clear;
           sql.Add('select 证书编号,企业名称,资质等级,法人代表,企业 ,经理 from 资质副本 where 地区="长春地区" ');
           sql.Add('group by 成立年');
           open;
         end;
      

  4.   

    把你的‘成立年'加到SELECT 后面,试试
      

  5.   

    把sql.Add('group by 成立年');这一句注释或者删除即可