Ver Mensaje Individual
  #9 (permalink)  
Antiguo 21/07/2009, 13:59
chelodelsur
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Que estoy haciendo mal????

Hola a todos
Yo de nuevo..

He tenido que retomar este tema que se ma había quedado en el tintero, y no doy con la solución a mi problema.
El siguiente codigo me lista los datos, ya (con la ayuda de Jurena y Huesos52) he formateado las horas a periodos de media hora, pero no logro levantar las horas donde no hay registro.

Código MySQL:
Ver original
  1.       YEAR(fecha_date2) AS `año`,    
  2.       UPPER(CASE WHEN MONTH(fecha_date2) = 1 THEN "enero"  
  3.                  WHEN MONTH(fecha_date2) = 2 THEN "febrero"
  4.                  WHEN MONTH(fecha_date2) = 3 THEN "marzo"  
  5.                  WHEN MONTH(fecha_date2) = 4 THEN "abril"  
  6.                  WHEN MONTH(fecha_date2) = 5 THEN "mayo"  
  7.                  WHEN MONTH(fecha_date2) = 6 THEN "junio"  
  8.                  WHEN MONTH(fecha_date2) = 7 THEN "julio"  
  9.                  WHEN MONTH(fecha_date2) = 8 THEN "agosto"  
  10.                  WHEN MONTH(fecha_date2) = 9 THEN "septiembre"  
  11.                  WHEN MONTH(fecha_date2) = 10 THEN "octubre"  
  12.                  WHEN MONTH(fecha_date2) = 11 THEN "noviembre"  
  13.                  WHEN MONTH(fecha_date2) = 12 THEN "diciembre"  
  14.                                ELSE "NUUL_MES" END)  AS MES ,    
  15.       UPPER(CASE WHEN WEEKDAY(fecha_date2) = 0 THEN "Lunes"
  16.                  WHEN WEEKDAY(fecha_date2) = 1 THEN "Martes"
  17.                  WHEN WEEKDAY(fecha_date2) = 2 THEN "Miercoles"
  18.                  WHEN WEEKDAY(fecha_date2) = 3 THEN "Jueves"
  19.                  WHEN WEEKDAY(fecha_date2) = 4 THEN "Viernes"
  20.                  WHEN WEEKDAY(fecha_date2) = 5 THEN "Sabado"
  21.                  WHEN WEEKDAY(fecha_date2) = 6 THEN "Domingo"
  22.                                 ELSE "NUUL_DIA" END) AS `DIA`,
  23.       DATE_FORMAT(fecha_date2,'%Y-%m-%d') AS fecha,
  24.       TIME_FORMAT(fecha_date2,'%H:%i:%s') AS Horareal,
  25.        h.mediahora AS `mediahora`,  
  26.             SUM(IF(recibido= '',0,recibido)) AS Recibido
  27. FROM rrserver.Reg_15_minutos
  28. RIGHT JOIN rrserver.horas h
  29. ON  h.mediahora =  CONCAT(IF(HOUR(fecha_date2)<10,CONCAT('0',HOUR(fecha_date2)) , HOUR(fecha_date2)),':', IF(MINUTE(fecha_date2)<29,'00','30'),':','00')  
  30. WHERE fecha_date2 BETWEEN '2009-03-02 00:00:00' AND '2009-03-02 100:00'
  31. GROUP BY YEAR(fecha_date2), MONTH(fecha_date2), DAYOFMONTH(fecha_date2), `mediahora`
  32.  
  33. ORDER BY YEAR(fecha_date2) ASC, MONTH(fecha_date2) ASC, WEEKDAY(fecha_date2)ASC, DAYOFMONTH(fecha_date2) ASC, h.mediahora ASC;


Como ven este es el resultado y por ejemplo no levanta el periodo de las 03:30, o 04:30, 05:00, 05:30. por que en esos hoarios no hay registros.

Porfa denme una mano una vez más
+------+-------+-------+------------+----------+-----------+----------+
| año | MES | DIA | fecha | Horareal | mediahora | Recibido |
+------+-------+-------+------------+----------+-----------+----------+
| 2009 | MARZO | LUNES | 2009-03-02 | 00:15:00 | 00:00:00 | 2 |
| 2009 | MARZO | LUNES | 2009-03-02 | 00:45:00 | 00:30:00 | 1 |
| 2009 | MARZO | LUNES | 2009-03-02 | 01:00:00 | 01:00:00 | 3 |
| 2009 | MARZO | LUNES | 2009-03-02 | 01:30:00 | 01:30:00 | 1 |
| 2009 | MARZO | LUNES | 2009-03-02 | 02:15:00 | 02:00:00 | 1 |
| 2009 | MARZO | LUNES | 2009-03-02 | 02:30:00 | 02:30:00 | 2 |
| 2009 | MARZO | LUNES | 2009-03-02 | 03:00:00 | 03:00:00 | 2 |
| 2009 | MARZO | LUNES | 2009-03-02 | 04:15:00 | 04:00:00 | 2 |
| 2009 | MARZO | LUNES | 2009-03-02 | 06:15:00 | 06:00:00 | 3 |
| 2009 | MARZO | LUNES | 2009-03-02 | 06:30:00 | 06:30:00 | 7 |
| 2009 | MARZO | LUNES | 2009-03-02 | 07:00:00 | 07:00:00 | 24 |
| 2009 | MARZO | LUNES | 2009-03-02 | 07:30:00 | 07:30:00 | 62 |
| 2009 | MARZO | LUNES | 2009-03-02 | 08:00:00 | 08:00:00 | 101 |
| 2009 | MARZO | LUNES | 2009-03-02 | 08:30:00 | 08:30:00 | 98 |
| 2009 | MARZO | LUNES | 2009-03-02 | 09:00:00 | 09:00:00 | 142 |
| 2009 | MARZO | LUNES | 2009-03-02 | 09:30:00 | 09:30:00 | 122 |
| 2009 | MARZO | LUNES | 2009-03-02 | 10:00:00 | 10:00:00 | 85 |
+------+-------+-------+------------+----------+-----------+----------+


desde ya gracias