我这么写统计不出所有员工一个月的考勤,SUM只是统计某个员工某个月的考勤,等于没用
SELECT SUM(lateCount)as lc,sum(earlyCount)as ec,sum(outCount)as oc,userName,lateCount,earlyCount,outCount from AttendanceInfo group by moth,userName,lateCount,earlyCount,outCount
我这么写SUM是起作用了,可是其他信息又没查出来
SELECT SUM(lateCount)as lc,sum(earlyCount)as ec,sum(outCount)as oc from AttendanceInfo group by moth各位前辈帮帮忙啊,谢谢啦

解决方案 »

  1.   

    Rank功能SQL 2005本身就支持,另外有些報表(如Reporting)本身就有分組功能.
    寫SQL要和報表工具結合起來.不一定是SQL全寫好.報表只要Query就可以了.
    很多報表樣式,報表只需要作一些設置就可以完成.
      

  2.   

    http://hiphotos.baidu.com/%C6%EC%C4%BE%D3%A2/pic/item/0c86fefbd703bc316f22eb68.jpeg 
      

  3.   

    Sql写成这样:SELECT SUM(lateCount)as lc,sum(earlyCount)as ec,sum(outCount)as oc,
    userName,moth from AttendanceInfo group by moth,userName
    首先把每个人在每个月的统计出来。然后在报表中按照月的进行分组就是了,报表中都有合计的功能的。
    统计总的也问题应该不大。
      

  4.   

    不能用控件?你就是说你想用Sql写出来?
      

  5.   

       declare @TableTest Table( userName varchar(50), lateCount int , earlyCount int , outCount int , Moth int)
       
       insert into @TableTest values( '张三',3,2,6,1)
       insert into @TableTest values( '张三',1,2,1,2)
       insert into @TableTest values( '张三',15,12,12,3)   insert into @TableTest values( '李四',23,5,3,1)
       insert into @TableTest values( '李四',21,2,1,2)
       insert into @TableTest values( '李四',0,12,12,3)   insert into @TableTest values( '王五',3,2,4,1)
       insert into @TableTest values( '王五',5,6,1,2)
       insert into @TableTest values( '王五',3,12,12,3)   
       select userName , Moth , sum(lateCount) as lateCount , sum(earlyCount) as earlyCount,sum(outCount) as outCount from @TableTest
       group by userName , Moth
       union 
       select Convert(varchar(50),Moth) as userName , Moth , sum(lateCount) as lateCount , sum(earlyCount) as earlyCount,sum(outCount) as outCount from @TableTest
       group by Moth
       union 
       select '合计' as userName, 13 as Moth ,sum(lateCount) as lateCount , sum(earlyCount) as earlyCount,sum(outCount) as outCount from @TableTest
      

  6.   

    1、如果合计行可以写在后面,记录数又不多,可以在后台拼html的table代码,小循环输出每个人的并计算,小循环完成一次,输出一次月合计,大循环完毕后输出总合计。
    2、或者是用存储过程,返回不同查询值。
    3、或者用触发器,每次记录改变时根据条件,添加一个月合计记录,如果有了合计的记录,就累加。
    大概就想到这些