Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/05/2017, 06:16
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema con Max(lectura)

No lo estás mirando correctamente...
Yo te dije que AGRUPES por fecha, y NO que buscases la fecha mayor, cuando en realidad lo que quieres es la LECTURA MAYOR...

Ahora bien, si lo que quieres es la última lectura, y de estas la mayor, tampoco es correcta la query.çEsto estaría mas cerca.

Código SQL:
Ver original
  1. SELECT codigo, TRUNC(fecha) fecha, MAX(lectura) Lectura
  2. FROM registro_lecturas
  3. WHERE codigo IN (123, 456, 765, 345)
  4. GROUP BY TRUNC(fecha), codigo

En cuanto al formato de la fecha, eso es una configuracion del servidor, pero si lo que quieres es que la salida en formulario sea en formato español, simplemente formatea la salida.
Para hacerlo desde Oracle sería:

Código SQL:
Ver original
  1. SELECT codigo, TO_CHAR(fecha, 'dd/mm/yyyy') fecha, lectura
  2. FROM (
  3.     SELECT codigo, TRUNC(fecha) fecha, MAX(lectura) Lectura
  4.     FROM registro_lecturas
  5.     WHERE codigo IN (123, 456, 765, 345)
  6.     GROUP BY TRUNC(fecha), codigo) tablaresultado

Cita:
no adjunto el create table porque los nombres de los campos no son muy claros para alguien externo
precisamente por eso dije:

Cita:
Muestra el CREATE TABLE de la tabla y explica el uso de cada columna y veremos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 04/05/2017 a las 06:42