Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/12/2008, 00:29
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: agrupar cada 15 min

Cita:
Iniciado por chelodelsur Ver Mensaje
Hola Jurena

Si lo había probado pero no, volví a hacerlo ahora pero nada, de hecho cambie el campo de la tabala horascuarto de time a chart, pero nada

La query corre bien, no arroja errores, pero tampoco levanta los cuartos de hora donde no hay registros

mmmm

chelodelsur,

No sé si habré entendido bien lo que quieres, pero si lo que deseas es hacer un cruce de esos valores con los de una tabla de horas y cuartos con el formato 00:15, 00:30 y el tipo varchar, o bien con un tipo time y formato 00:15:00, 00:30:00, el cruce se hace bien de varias formas. Yo he pensado que tienes las cuartohoras de horas en un tipo de campo time con formato 00:15:00 y he hecho el cruce así:
SELECT log_0.hora, horas.cuartohoras, CONCAT( IF( hour( log_0.hora ) <10, CONCAT( '0', hour( log_0.hora ) ) , hour( log_0.hora ) ) , ':', IF( (
FLOOR( MINUTE( log_0.hora ) /15 ) *15 ) =0, '00', FLOOR( MINUTE( log_0.hora ) /15 ) *15 )
) AS horacuartos
FROM log log_0
INNER JOIN horas ON ( CONCAT( IF( hour( log_0.hora ) <10, CONCAT( '0', hour( log_0.hora ) ) , hour( log_0.hora ) ) , ':', IF( (
FLOOR( MINUTE( log_0.hora ) /15 ) *15 ) =0, '00', FLOOR( MINUTE( log_0.hora ) /15 ) *15 ) )
) = left( cast( horas.cuartohoras AS char ) , 5 )

Si tienes un campo VARCHAR y lo escribes así: 00:15, sólo tendrás que poner tras el igual el nombre del campo.

Esto es sólo un ejemplo para que veas que donde hay hora en la tabla log podrás cruzar los datos. No me gusta demasiado que pongas el mismo nombre a un campo que el alias que aplicas a lo generado con datos de campos de otra tabla. Sería mejor que cambiaras alguna letra de alguno para evitar problemas.
Lo que he hecho ha sido hacer el cruce no con todo el dato de cuartohoras de horas, sino con la parte que va de izquierda a derecha, 5 caracteres (hora y minutos), convertidos a char para que conserve los ceros y funcione como cadena de texto.

Pero quizás no he entendido lo que quieres, porque añades
Cita:
pero tampoco levanta los cuartos de hora donde no hay registros
¿qué significa exactamente eso? Pon algún ejemplo.