求sql ......
现在求一条sql语句:
表结构如下:
id name status workday remark
1001 张三 上班 2011-11-10
1002 李四 上班 2011-11-10
1003 王五 上班 2011-11-10
1004 张三 上班 2011-11-11
1005 李四 请假 2011-11-11
1006 王五 上班 2011-11-11
现在这个表结构需要统计出来的报表样式如下(报表统计周期为上月的26号到本月的25号)
姓名25号26号 .....1号 2号..10号11 号 ... 25号
张三 .... 上班上班 ...
李四 .... 上班请假 ...
王五 .... 上班上班 ...
也就是说需要把纵向的workday (从上一个月的26号到本月的25号所有天)横行过来 显示,循环取出某个月度的考勤详情报表
求转换语句......
[解决办法]
行转列
select name
,max(case when workday='2011-11-10' then status end) "10号"
,max(case when workday='2011-11-11' then status end) "11号"
,max(case when workday='2011-11-12' then status end) "12号"
from tb
group by name
;
[解决办法]