query1.close;
     query1.sql.clear;
     query1.sql.add('select distinct xinghao as 型号,dianliu as 电流,zhuguan as 类型,');
     query1.sql.add('sum(shuliang) as 数量,(sum(shuliang)-sum(uhege)) as 合格数,round(((sum(shuliang)-sum(uhege))/sum(shuliang))*100,2) as 合格率,');
     query1.sql.add('sum(iif(jyriqi="'+edit2.Text+'"'+',shuliang,0)) as 当日数,');
//     query1.sql.add('(sum(shuliang)-sum(uhege)) as 当日合格数 ,');
     query1.sql.add('sum(qidong) as 起动,sum(qiandong) as 潜动,');
     query1.sql.add('sum(cos10600) as cos10600,sum(cos10400) as cos10400,sum(cos10100) as cos10100,') ;
     query1.sql.add('sum(cos10010) as cos10010,sum(cos10005) as cos10005,');
     query1.sql.add('sum(cos05600) as cos05600,sum(cos05400) as cos05400,');
     query1.sql.add('sum(cos05100) as cos05100,sum(cos05020) as cos05020,sum(cos05010) as cos05010');
     query1.sql.add(' from jxjyyuan where 1=1');
     if edit1.text<>'' then
        begin
          query1.sql.add(' and jyriqi>="'+edit1.Text+'"');
        end;
     if edit2.text<>'' then
        begin
          query1.sql.add(' and jyriqi<="'+edit2.Text+'"');
         end;
     query1.sql.add(' group by xinghao,dianliu,zhuguan');
     query1.sql.add('');
     query1.open;

解决方案 »

  1.   

    双引号肯定是不对的,建议
    query1.sql.add(' and jyriqi<='+''''+edit2.Text+''''+')';
      

  2.   


    memo1.lines.Add(query1.sql.text);
    query1.open;
    然后在BDE Exporer/SQL anylizer/SQL plus里运行通过再说!
    真懒!!
    我爱Delphi!
      

  3.   

    同意 Black(小熊) 在DELPHI和DELPHI中的SQL中不建议使用双引,或者杜绝使用.
      

  4.   

    在SOL Server中我写了一条类似的语句:
    SELECT xinghao, dianliu, SUM(iif(jyriqi = '2002-9-17', shuliang, 0) AS shuliang
    FROM jxshenhe
    也是出现同样的问题,'='在SQL中能不能用?
      

  5.   

    是不是中文的等于号?
    (iif(jyriqi = '2002-9-17', shuliang, 0) 你的括号怎么不配对呀?
      

  6.   

    是什么类型的数据库呀?
    将日期用formatdatetime格式化试试
      

  7.   

    不公平,
    回复人: l_xiaofeng(流水不腐) (  ) 信誉:96  2002-9-19 17:12:40  得分:5  
     
      同意 Black(小熊) 在DELPHI和DELPHI中的SQL中不建议使用双引,或者杜绝使用.
     他得5分,我得2分 ??????????????????????