ADOQuery1.SQL.Text:='select 姓名,年度,月份,ltrim(Round(sum(单出)/sum(单入)*100,2))+''%'' as 完工率,';
     ADOQuery1.SQL.Add('sum(费用) as 费用,sum(收费) as 收费,sum(免费) as 免费,');
     ADOQuery1.SQL.Add('sum(折价) as 折价,Round(sum(出价)/sum(台数),2) as 平均单价 from Tmov');
     ADOQuery1.SQL.Add(' where 年度='''+Combobox1.Text+''' and 月份='''+Combobox2.Text+''' group by 日期,姓名,月份,年度');只要其中有任一条记录的 台数为0 都会出现错误,但我想的是我已经SUM()了的嘛,也就是说虽然其中有一条或者多条数据的'台数'字段为0,但经过sum()都不为零了...咋还是出现错误提示呢?

解决方案 »

  1.   

    ADOQuery1.SQL.Text:='select 姓名,年度,月份,ltrim(Round(sum(单出)/sum(单入)*100,2))+''%'' as 完工率,';
         ADOQuery1.SQL.Add('sum(费用) as 费用,sum(收费) as 收费,sum(免费) as 免费,');
         ADOQuery1.SQL.Add('sum(折价) as 折价,Round(sum(出价)/sum(台数),2) as 平均单价 from Tmov');
         ADOQuery1.SQL.Add(' where 年度='''+Combobox1.Text+''' and 月份='''+Combobox2.Text+''' group by 姓名,月份,年度');去掉Group by 里的日期,,也是提示出错