首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL如何查询每个月的离职率与在职率以及在/离职的人数,有入职时间和离职时间

2012-09-10 
SQL怎么查询每个月的离职率与在职率以及在/离职的人数,有入职时间和离职时间求助!!!大神!!![解决办法]SQL

SQL怎么查询每个月的离职率与在职率以及在/离职的人数,有入职时间和离职时间
求助!!!大神!!!

[解决办法]

SQL code
select convert(varchar(6),日期字段,112),sum(case when  Ewstatus='N' then 1 else 0 end)*100.0/count(*),sum(case when  Ewstatus='A' then 1 else 0 end)*100.0/count(*),sum(case when  Ewstatus='L' then 1 else 0 end)*100.0/count(*),sum(case when  Ewstatus='W' then 1 else 0 end)*100.0/count(*)from tb_masEmployeeEmployer a inner join tb_masCustomer e on a.CustomerID=e.CustomerID  where 1=1 group by convert(varchar(6),日期字段,112),order by CustomerName
[解决办法]
我觉得没必要写那么多,以前我在银行做项目,做过类似的,其实你只需要把日期换个方式来存,即对于一个员工,其在职时间段,如201103-201108 ,状态为0(假设0为在职),然后再记录一条201109-299912,状态为1,问题就解决了,这是我工作经验,楼主可以参考一下。

热点排行