+ -
当前位置:首页 → 问答吧 → 求sql ......

求sql ......

时间:2011-11-20

来源:互联网




现在求一条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号所有天)横行过来 显示,循环取出某个月度的考勤详情报表
求转换语句......

作者: dai2jiang   发布时间: 2011-11-20

行转列
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 
;

作者: canhui87   发布时间: 2011-11-20

引用楼主 dai2jiang 的回复:
现在求一条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

现……
你问的是sql server的内容.在这里已经有比较好的解答方案了.

http://topic.csdn.net/u/20111120/10/8a36a195-be13-44d5-91b1-dc2410368663.html?19331

作者: dawugui   发布时间: 2011-11-20

热门下载

更多