角色表:角色分类(角色ID、角色名)
请假申请表:请假流水号、员工ID、申请日期、假期开始日期、假期天数、当前状态(申请-》一审-》2审-》批准/未批准)
请假流程表:请假流水号、审批人,审批日期,审批结果
如果功能在强点的话,可以加上审批限制日期,超限制没进行审批,自动标为为批准、自己可以在进行扩展
没说什么数据库,sqlserver为例
创建测试表
create table test(姓名 varchar(10),
事由 varchar(10),
开始时间 datetime,
结束时间 datetime)
insert into test values ('张三','事假','2014-07-21','2014-07-23')
insert into test values ('李四','事假','2014-07-22','2014-07-24')
insert into test values ('王武','病假','2014-07-23','2014-07-24')
执行
select t.时间,sum(case when t.事由='病假' then 1 else 0 end) 病假,
sum(case when t.事由='事假' then 1 else 0 end) 事假
from
(select a.姓名,a.事由,a.开始时间+b.number 时间
from test a,
(select number from master..spt_values
where type='P' and number<=(select max(DATEDIFF(DAY,开始时间,结束时间)) from test)) b
where DATEDIFF(DAY,a.开始时间,a.结束时间)>=b.number) t
group by t.时间
结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)