计算估计时间行

时间:2016-06-22 09:55:23

标签: sql sql-server

我一直在尝试解决这个问题,但我的“面向对象语言”并没有让我弄清楚如何在SQL查询中总结几天。

enter image description here

基本上我在我的数据库中有一个包含请求的表,以及请求状态在哪些日期是打开,待定或已关闭。

我想返回一个查询,该查询通知状态已打开的天数以及待处理的状态数。

开放日期由打开请求与请求转移到待处理/关闭之间的DATEDIFF计算。待处理请求是请求移至待定时刻与当天再次打开时的DATEDIFF。

我一直在做一些解决方案,但必须诚实地说我甚至不能接近。

感谢您的支持!

2 个答案:

答案 0 :(得分:1)

ID      Open    Pending
GTGTG6  4       5

输出:

{{1}}

答案 1 :(得分:1)

我不确定这对你有帮助,因为我没有真正的数据来测试这个,

SELECT ID,
   MAX(CASE WHEN STATUS='OPEN' THEN DAY(CreationDate) END)- MIN(CASE WHEN STATUS='OPEN' THEN DAY(CreationDate) END)OPENDAYS,
   MAX(CASE WHEN STATUS = 'CLOSE' THEN DAY(CreationDate)-1 END)- (MAX(CASE WHEN STATUS = 'PENDING' THEN DAY(CreationDate) END)- MIN(CASE WHEN STATUS = 'PENDING' THEN DAY(CreationDate) END)) PENDINGDAYS            
FROM TABLENAME                   
GROUP BY ID