Hola xixns:
Yo tenía el mismo problema con una central, con la diferencia que en mi caso hace un registro cada 15 minutos, y si en una rango no hay llamadas, no escribe el registro, o sea por ejemplo si entre las 3:00 y las 3:15 no hay llamadas no hace el registro de las 3:15.
La solución fue crear dos tablas: fecha, y Hora, para cruzarlas con la tabla de registro de tráfico.
Te dejo la consulta con la que hago el reporte, me lista todos los periodos cada 15 minutos entre las fechas declaradas en el Where.
Si quieres tener registro por un periodo distinto de tiempo, tendrías que adecuar las tabla horas a tus necesidades.
Espero te sirva de orientación.
Código MySQL:
Ver original CONCAT(f.fecha_maestra
,' ',h.hora_cuarto_maestra
) `HORARIO` ON b.
`HORARIO`= a.fecha_date
PD: La tabla Fecha, lista las fechas, para mi caso tengo cargado todas las fechas desde 2009-01-01 al 2012-12-31.
La tabla Hora: tiene un campo en el que estan todos los cuartos de hora del día: 00:15, 00:30, 00:45, etc.