Saludos. Necesito ayuda con el siguiente problema
Tengo una base de datos organizada de la siguiente manera
Id_ticket Area Estado
1 Presidencia Pendiente
2 IT Terminado
3 Logistica Por Validar
4 Presidencia En Proceso
5 IT Pendiente
6 Presidencia Terminado
.
.
.
Y le aplico la siguiente consulta, para saber la cantidad de ticket por estado que me ha generado cada area
SELECT area.nombre AS nombre,
CASE ticket.estado
WHEN Pendiente THEN COUNT( ticket.estado )
END "Pendiente",
CASE ticket.estado
WHEN Por validar THEN COUNT( ticket.estado )
END "POR VALIDAR",
CASE ticket.estado
WHEN Terminado THEN COUNT( ticket.estado )
END "TERMINADO",
CASE ticket.estado
WHEN En Proceso THEN COUNT( ticket.estado )
END "EN PROCESO"
FROM ticket
INNER JOIN area ON ticket.area_id = area.area_id
GROUP BY area.nombre,ticket.estado
ORDER BY ticket.estado
LA CONSULTA ME GENERA LO SIGUIENTE:
nombre Pendiente POR VALIDAR TERMINADO EN PROCESO
Presidencia NULL NULL NULL 1
Logistica NULL NULL NULL 1
IT NULL NULL NULL 3
Presidencia 1 NULL NULL NULL
Logistica NULL 1 NULL NULL
IT NULL NULL 46 NULL
Y YO LO NECESITO ASI
nombre Pendiente POR VALIDAR TERMINADO EN PROCESO
Presidencia 1 NULL NULL 1
Logistica NULL 1 NULL 1
IT NULL NULL 46 3
Es decir todas las areas agrupadas, como veran a pesar de que hago el group by por area aun no termina de agrupar de la manera que necesito, porfavor si alguien me puede ayudar se lo agradezco, estoy haciendo esto para un reporte web en php. Gracias. Pertenece a la categoría:
| |