各位大侠们,请教一个问题了,希望不吝指教,灰常感激啊!
现在做一个打卡的报表
在表中查询打卡记录是这个样子的
上图表示的字段分别是工号和上班打卡时间和下班打卡时间,然后就是想要得到一个月内的所有打卡记录格式如下
工号 27日 30日 31日 01
000014 上班打卡和下班打卡 上班打卡和下班打卡 上班打卡和下班打卡 上班打卡和下班打卡
依次这样。就是统计每一个员工在一个月的工作日内的打卡详情,本人试了好多方法还是不行,很是纠结,希望给予指教!
要是oracle数据库的!
实际就是个行转列的问题,我这有个是转成周的
select max(case when datepart(dw,timestr)=1 then contentstr end) as sunday , max(case when datepart(dw,timestr)=2 then contentstr end) as monday , max(case when datepart(dw,timestr)=3 then contentstr end) as tuesday , max(case when datepart(dw,timestr)=4 then contentstr end) as Wednesday , max(case when datepart(dw,timestr)=5 then contentstr end) as Thursday, max(case when datepart(dw,timestr)=6 then contentstr end) as Friday, max(case when datepart(dw,timestr)=7 then contentstr end) as Saturday from (select contentstr,timestr, row_number() over(partition by datepart(dw,timestr) order by id) as dayofweek from ERPWorkRiZhi where username=@username and timestr BETWEEN @starttime and @endtime) as a group by dayofweek
要是三十天的话,还有分三十个写么?
@木兰香: 没有办法只有分成三十一天来写
行转列的问题