Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/08/2015, 12:09
SitaFloyd
 
Fecha de Ingreso: agosto-2015
Mensajes: 9
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Query SQLserver

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 original
  1. SELECT
  2.   COUNT(DISTINCT ti.id)AS total_id,
  3.   datepart(MONTH,ti.create_time) AS mes,
  4.  
  5. SUM (CASE WHEN  DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 0 AND 240 THEN 1 ELSE 0 END) AS Hasta4HH,
  6. SUM(CASE WHEN  DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 241 AND 480  THEN 1 ELSE 0 END) AS Hasta8HH,
  7. SUM(CASE WHEN  DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 481 AND 1440  THEN 1 ELSE 0 END) AS Hasta24HH,
  8. SUM(CASE WHEN  DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 1441 AND 4320  THEN 1 ELSE 0 END) AS Hasta72HH,
  9. SUM(CASE WHEN  DateDiff(MINUTE, ti.create_time, his.nlasttime) BETWEEN 4321 AND 10080  THEN 1 ELSE 0 END) AS Hasta168HH,
  10. SUM(CASE WHEN  DateDiff(MINUTE, ti.create_time, his.nlasttime) > 10080  THEN 1 ELSE 0 END) AS Mayores168HH
  11. FROM Otrs.dbo.ticket_history h
  12.   INNER JOIN Otrs.dbo.ticket ti ON h.ticket_id = ti.id
  13.   INNER JOIN Otrs.dbo.ticket_state s ON ti.ticket_state_id = s.id
  14.   LEFT JOIN otrs.dbo.vwTicketHistoryClose his ON ti.id = his.ticket_id    
  15.   WHERE  s.name ='closed successful' AND
  16.   datepart(MONTH,ti.create_time)>= datepart(MONTH,DATEADD(MONTH,-1,getdate())) AND
  17.   datepart(YEAR,ti.create_time)>= datepart(YEAR,DATEADD(MONTH,-1,getdate()))
  18.   AND (DATEPART(MONTH,ti.create_time)) >= (datepart(MONTH,getdate()))
  19.  GROUP BY datepart(MONTH,ti.create_time)

Última edición por gnzsoloyo; 10/08/2015 a las 12:18