ahora he encontrado otro problema, esta query debe darme el total de tickets cerrados segun los rangos de horas ya antes mencionados, pero pasa que cada ticket puede tener varios tipis de cierres pero el cierre numero 2 es el unico q cuenta como cerrado ya que los ejecutivos pueden abrirlo para editarlo y cerrarlo incompleto etc casos, entonces agregue en el s.name ='closed successful' suponiendo que asi filtraria por el tipo de cierre, pero no me resulto D: en que me estoy equivocando?
Libras gracias por la ayuda anterior!!!
Código SQL:
Ver originalSELECT
COUNT(DISTINCT ti.id)AS total_id,
datepart(MONTH,ti.create_time) AS mes,
SUM (CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 0 AND 240 THEN 1 ELSE 0 END) AS Hasta4HH,
SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 241 AND 480 THEN 1 ELSE 0 END) AS Hasta8HH,
SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 481 AND 1440 THEN 1 ELSE 0 END) AS Hasta24HH,
SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 1441 AND 4320 THEN 1 ELSE 0 END) AS Hasta72HH,
SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 4321 AND 10080 THEN 1 ELSE 0 END) AS Hasta168HH,
SUM(CASE WHEN DateDiff(MINUTE, ti.create_time, his.nlasttime) > 10080 THEN 1 ELSE 0 END) AS Mayores168HH
FROM Otrs.dbo.ticket_history h
INNER JOIN Otrs.dbo.ticket ti ON h.ticket_id = ti.id
INNER JOIN Otrs.dbo.ticket_state s ON ti.ticket_state_id = s.id
LEFT JOIN otrs.dbo.vwTicketHistoryClose his ON ti.id = his.ticket_id
WHERE s.name ='closed successful' AND
datepart(MONTH,ti.create_time)>= datepart(MONTH,DATEADD(MONTH,-1,getdate())) AND
datepart(YEAR,ti.create_time)>= datepart(YEAR,DATEADD(MONTH,-1,getdate()))
AND (DATEPART(MONTH,ti.create_time)) >= (datepart(MONTH,getdate()))
GROUP BY datepart(MONTH,ti.create_time)