表:leaveday
字段:name,leavedays(请假天数),leaveDateTime(请假时间)。
我想下面语句实现的情况是:在DateTimePicker1和DateTimePicker2的选择时间段内,查询每一个人的请假中天数。但下面的代码就是错误的,一直编译不了,请高手指教。谢谢!ADOQuery1.SQL.Add('select name,sum(leavedays) as leavedays from leaveday group by name  WHERE  leaveDateTime >=# '+Datetostr(DateTimePicker1.Date)+ '# AND leaveDateTime <=#'+Datetostr(DateTimePicker2.Date)+'#' ');请朋友们帮忙!尽快。谢谢

解决方案 »

  1.   

     group by后面where改成having   然后面的的语句可以写成 leavedatatime between 1 and 2这样看上去也比较好。。 不晓得你的有没有用到edit。那样的话会更OK 
      “#”这个我以前也没看过。。  可以讲讲撒。。
      

  2.   

    ADOQuery1.SQL.Add('select name,sum(leavedays) as leavedays from leaveday group by name WHERE leaveDateTime between DateTimePicker1.Date and DateTimePicker2.Date');
      

  3.   

    ADOQuery1.SQL.Add('select name,sum(leavedays) as leavedays from leaveday group by name WHERE leaveDateTime between DateTimePicker1.Date and DateTimePicker2.Date'); 
     
    直接用这个。