【发布时间】:2017-03-14 07:50:24
【问题描述】:
ID EmployeeID 状态 EffectiveDate
1 110545 Active 01-01-2011
2 110700 Active 05-01-2012
3 110060 Active 05-01-2012
4 110222 Active 30-06-2012
5 110222 Resigned 22-05-2016
6 110545 Resigned 01-07-2012
7 110545 Active 12-02-2013
如何使用 T-SQL 查找每个员工的状态为“活动”和“非活动”之间经过的时间量,不包括重新加入员工的当前状态为“活动”。
输出应该
ID EmployeeID Days
1 110222 1422
2 110545 371
【问题讨论】:
-
使用 DateDiff(),这可能会有所帮助:stackoverflow.com/a/9521452/1830909
-
我没有得到你想要的,你能给出预期的结果并解释一下吗?
-
对于 Emp 110545 ,我需要从活动到非活动的天数转换 w.r.t 当前状态.. 所以对于 emp 110545 应该是 01-01-2011 (ActiveDate) 到 01-07-2012(辞职日期)
-
你知道从活跃到不活跃的天数转换到当前状态的天数是什么意思,但我不知道。
-
查看参考链接以了解如何提出完美问题:spaghettidba.com/2015/04/24/…
标签: sql sql-server-2012