Ver Mensaje Individual
  #11 (permalink)  
Antiguo 22/07/2009, 06:38
chelodelsur
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Agrupar datetime por medias horas?? se puede???

Gracias por el interes Huesos52

Mira tu codigo no soluciona mi tema, lo que pasa es que en la tabla reg_15_minutos, se guardan los contactos entrantes, la aplicación hace un Insert en la tabla cada 15 minutos, pero por un tema de diseño de la aplicación, para ahorrar espacio de disco, cuando en un periodo de tiempo no hay registros, la aplicación NO hace el insert, por lo que al consultar los datos, solo levanta los horarios en los que se registraron contactos. Bien necesito hacer una curva de trafico de esos datos, pero necesito graficar todas las horas del día, y para las horas en las que no hay registro colocar un valor 0 (cero).
Hice otra tabla con las horas del día, en intervalos de media hora, e intento hacer un cruce, para que me liste todas las horas del dia, pero no logro hacerlo. De momento el codigo que tengo hace correctamente el cruce de las dos tablas, pero no levanta los horarios de la tabla horas en los que no hay registros en la tabla Reg_15_minutos.

Código MySQL:
Ver original
  1. CREATE TABLE `reg_15_minutos` (
  2.   `NOMBRE_SITIO` VARCHAR(10) DEFAULT NULL,
  3.   `Fecha_date2` DATETIME DEFAULT NULL,
  4.   `RECIBIDO` DECIMAL(10,0) DEFAULT NULL,

Ejemplo de datos de esta tabla
Código MYSQL:
Ver original
  1. insert into `reg_15_minutos` (`nombre_sitio`, `fecha_date2`, `recibido`) values('PRUEBA','2009-03-02 00:15:00','2');
  2. insert into `reg_15_minutos` (`nombre_sitio`, `fecha_date2`, `recibido`) values('PRUEBA','2009-03-02 01:00:00','1');
  3. insert into `reg_15_minutos` (`nombre_sitio`, `fecha_date2`, `recibido`) values('PRUEBA','2009-03-02 02:15:00','1');
  4. insert into `reg_15_minutos` (`nombre_sitio`, `fecha_date2`, `recibido`) values('PRUEBA','2009-03-02 03:00:00','1');
  5. insert into `reg_15_minutos` (`nombre_sitio`, `fecha_date2`, `recibido`) values('PRUEBA','2009-03-02 04:15:00','1');
  6. insert into `reg_15_minutos` (`nombre_sitio`, `fecha_date2`, `recibido`) values('PRUEBA','2009-03-02 06:15:00','2');
  7. insert into `reg_15_minutos` (`nombre_sitio`, `fecha_date2`, `recibido`) values('PRUEBA','2009-03-02 07:00:00','8');
  8. insert into `reg_15_minutos` (`nombre_sitio`, `fecha_date2`, `recibido`) values('PRUEBA','2009-03-02 08:00:00','5');


Código MySQL:
Ver original
  1. CREATE TABLE `horas` (
  2.   `mediahora` TIME NOT NULL DEFAULT '00:00:00',
  3.   `orden` VARCHAR(4) DEFAULT NULL
  4. ) ENGINE=MYISAM DEFAULT CHARSET=latin1

Datos de la tabla Horas, la columna orden esra un idea para relacionarlos con los horas, pero no cumple otra funcion.
Código MySQL:
Ver original
  1. insert into `horas` (`mediahora`, `orden`) values('00:00:00','1 ');
  2. insert into `horas` (`mediahora`, `orden`) values('00:30:00','2 ');
  3. insert into `horas` (`mediahora`, `orden`) values('01:00:00','3 ');
  4. insert into `horas` (`mediahora`, `orden`) values('01:30:00','4 ');
  5. insert into `horas` (`mediahora`, `orden`) values('02:00:00','5 ');
  6. insert into `horas` (`mediahora`, `orden`) values('02:30:00','6 ');
  7. insert into `horas` (`mediahora`, `orden`) values('03:00:00','7 ');
  8. insert into `horas` (`mediahora`, `orden`) values('03:30:00','8 ');
  9. insert into `horas` (`mediahora`, `orden`) values('04:00:00','9 ');
  10. insert into `horas` (`mediahora`, `orden`) values('04:30:00','10 ');
  11. insert into `horas` (`mediahora`, `orden`) values('05:00:00','11 ');
  12. insert into `horas` (`mediahora`, `orden`) values('05:30:00','12 ');
  13. insert into `horas` (`mediahora`, `orden`) values('06:00:00','13 ');
  14. insert into `horas` (`mediahora`, `orden`) values('06:30:00','14 ');
  15. insert into `horas` (`mediahora`, `orden`) values('07:00:00','15 ');
  16. insert into `horas` (`mediahora`, `orden`) values('07:30:00','16 ');
  17. insert into `horas` (`mediahora`, `orden`) values('08:00:00','17 ');

Bien perdonen lo extenso del post, desde ya gracias por la ayuda.

Chelodelsur