I want to show a report that shows me pending requests that have not been updated in X amount of days. Below is the query, but its using pending request by created time.
SELECT QUEUEDEFINITION.QUEUENAME,COUNT(WORKORDER.WORKORDERID) 'Total Pending Count',COUNT(CASE WHEN DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) <= 7 THEN 1 ELSE NULL END) '0 - 7 Days',COUNT(CASE when DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) <= 14 and DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) > 7 THEN 1 ELSE NULL END) '7 - 14 Days', COUNT(CASE when DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) <= 21 and DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) > 14 THEN 1 ELSE NULL END) '14 - 21 Days', COUNT(CASE when DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) <= 30 and DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) > 21 THEN 1 ELSE NULL END) '21 - 30 Days', COUNT(CASE when DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) <= 60 and DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) > 30 THEN 1 ELSE NULL END) '30 - 60 Days', COUNT(CASE when DATEDIFF(day, DATEADD(s, WORKORDER.CREATEDTIME/1000, '01-01-1970 00:00:00'), getDate()) > 60 THEN 1 ELSE NULL END) 'More than 60 Days' FROM WORKORDER INNER JOIN WORKORDERSTATES on WORKORDERSTATES.WORKORDERID = WORKORDER.WORKORDERID LEFT JOIN STATUSDEFINITION on STATUSDEFINITION.STATUSID = WORKORDERSTATES.STATUSID LEFT JOIN WORKORDER_QUEUE ON WORKORDER.WORKORDERID = WORKORDER_QUEUE.WORKORDERID LEFT JOIN QUEUEDEFINITION ON WORKORDER_QUEUE.QUEUEID=QUEUEDEFINITION.QUEUEID WHERE WORKORDERSTATES.STATUSID IN ( Select STATUSID from StatusDefinition where ISPENDING=1) GROUP BY QUEUEDEFINITION.QUEUENAME
ORDER BY QUEUEDEFINITION.QUEUENAME