Ver Mensaje Individual
  #6  
Antiguo 17-05-2007
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Reputación: 21
VRO Va por buen camino
Sigo trabada en funcion

La verdad es que poniendo max(contadores.valor) ó sin poner el max no me sale el resultado del todo bien , lo que yo pretendo es que me salga el valor correspondiente a la fecha resultante de la consulta , si pongo el max me sale siempre la máxima y no tiene porque corresponder a esa fecha.

Si lo hago como tu dices, poniendo todos los campos que no tiene función en el group by, es decir, en este caso sería el campo valor, me aparecerán todos los valores de ese contador entre las 2 fecha indicadas y no pretendo eso, sino , que me salga sólo un resultado por cada contador, con su valor correspondiente para la última fecha del día anterior.

Me haría falta algo como tu dices el first ó el last, pero cuando lo pongo en la consulta tal que así:

Código:
SELECT puertos.tag,first(contadores.valor),max(fecha)as mfecha 
FROM CONTADORES,PUERTOS 
WHERE DISPOSITIVO='Contador' and CONTADORES.NUMPUERTO=PUERTOS.NUMPUERTO 
AND CONTADORES.IDEQUIPO=PUERTOS.IDEQUIPO
AND (FECHA>='2007-05-13 00:00:00' AND  FECHA<'2007-05-14 00:00:00')
GROUP BY TAG
HAVING max(fecha)< '2007-05-14 00:00:00' 
ORDER BY tag asc,FECHA DESC
me dice error 1064 near contadores.valor, si no le pongo no me da error pero no es exacto el resultado que obtengo para todos los casos.

Plissssssss si se te ocurre algo más comantamelo igual es que no te he entendido lo que me intentas explicar, yo seguiré estrujandome el coco.


Gracias por tu apoyo y ayuda...
Responder Con Cita