数据库用的是ACCESS。
这是关于一个计件工资一个日期段按员工编号查询工资金额总额的统计程序,大致如下:
....
tmpGroup:=trim(Group.Text);
MyDateStr1:=formatdatetime('yyyy/mm/dd',DateBegin.DateTime);
MyDateStr2:=formatdatetime('yyyy/mm/dd',DateEnd.DateTime);
.......
tmpCountSQL:='select 员工编号,姓名,班组,sum(工资) from WorkData where   日期>='+'#'+MyDateStr1+'#'+' And 日期<='+'#'+MyDateStr2+'#'+' And 班组='''+tmpGroup+''''+' group by 员工编号';
.......
     DM.ADO_Work.Close;
     DM.ADO_Work.SQL.Clear;
     DM.ADO_Work.SQL.Text:=tmpCountSQL;
     DM.ADO_Work.Open;
看看我的tmpCountSQL错在哪??

解决方案 »

  1.   

    我想按员工编号分类group by 员工编号,然后统计出员工编号,姓名,班组,sum(工资) 。望高手相助!小弟感激不尽!!
      

  2.   

    ’group by 员工编号‘改为‘group by 员工编号,姓名,班组’
      

  3.   

    tmpCountSQL:='select 员工编号,姓名,班组,sum(工资) from WorkData where   日期>='+'#'+MyDateStr1+'#'+' And 日期<='+'#'+MyDateStr2+'#'+' And 班组='''+tmpGroup+''''+' group by 员工编号,姓名,班组';注意Group By子句要包含所有非聚合函数的字段
      

  4.   

    'select 员工编号,姓名,班组,sum(工资) from WorkData where   日期>='+'#'+MyDateStr1+'#'+' And 日期<='+'#'+MyDateStr2+'#'+' And 班组='''+tmpGroup+''''+' group by 员工编号,姓名,班组';
    确实可以用!
    但现在还是出现一个问题,我漏了一项‘固定工资’,这条固定工资与表Human中取出
    Human大致如下
    员工编号   姓名    固定工资
    C001       AAA      3000
    C002       BBB      4000
    ....
    请问这条SQL语句怎么写呢,答对立即给分!!
      

  5.   

    'select 员工编号,姓名,班组,sum(工资) from WorkData,human where   日期>='+'#'+MyDateStr1+'#'+' And 日期<='+'#'+MyDateStr2+'#'+' And 班组='''+tmpGroup+''''+' and workData.员工编号=Human.员工编号 '+' group by 员工编号,姓名,班组';