Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Usar Función MIN entre varios campos

Estas en el tema de Usar Función MIN entre varios campos en el foro de Oracle en Foros del Web. Hola, Espero me puedan ayudar. He visto una sentencia SQL en SAS y quiero pasarla a SQL- Oracle. La función busca la fecha menor de ...
  #1 (permalink)  
Antiguo 16/10/2013, 10:11
 
Fecha de Ingreso: octubre-2013
Ubicación: Madrid
Mensajes: 1
Antigüedad: 11 años, 2 meses
Puntos: 0
Usar Función MIN entre varios campos

Hola,

Espero me puedan ayudar. He visto una sentencia SQL en SAS y quiero pasarla a SQL- Oracle.

La función busca la fecha menor de entre varios campos, es algo así:


SELECT
NOMBRE,
DNI,
…,
min (SAS_FECHA1,
SAS_FECHA2,
SAS_FECHA3,
SAS_FECHA4)) as FECHA

WHERE DNI=’XXXXXXX’


Es decir, para un registro dado, deseo saber cual es la fecha menor de entre los 4 campos de fecha.


¿Sabéis cómo se puede hacer esto en Oracle Developer?


Gracias,

José Acevedo
  #2 (permalink)  
Antiguo 17/10/2013, 15:47
Avatar de zarwar  
Fecha de Ingreso: mayo-2013
Ubicación: Madrid
Mensajes: 77
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Usar Función MIN entre varios campos

No me suena ninguna función min que me indicas en Oracle.

Una solución, aunque no se si se puede utilizar desde Developer:

Código SQL:
Ver original
  1. SELECT
  2.  NOMBRE,
  3.  DNI,
  4.  CASE
  5.      WHEN fecha1 <= fecha2 AND fecha1 <= fecha3 THEN fecha1
  6.      WHEN fecha2 <= fecha1 AND fecha2 <= fecha3 THEN fecha2
  7.      WHEN fecha3 <= fecha1 AND fecha3 <= fecha2 THEN fecha3
  8.  END CASE AS Fecha
  9. FROM tabla
  10. WHERE DNI=’XXXXXXX’

Alternativa es crearte tu propia función.

Un saludo
__________________
Entra en mi blog sobre base de datos Oracle:
http://mundodb.es
  #3 (permalink)  
Antiguo 18/10/2013, 14:35
Avatar de 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: Usar Función MIN entre varios campos

Código SQL:
Ver original
  1. SELECT NOMBRE, DNI, ..., LEAST(SAS_FECHA1, SAS_FECHA2, SAS_FECHA3, SAS_FECHA4)) FECHA
  2. FROM tabla
  3. WHERE DNI='XXXXXXX'
__________________
¿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; 18/10/2013 a las 17:13
  #4 (permalink)  
Antiguo 05/11/2013, 07:43
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años, 8 meses
Puntos: 15
Respuesta: Usar Función MIN entre varios campos

Hola gente, la query que escribió acevedojose79 está en código SAS propietario de la suite de desarrollo.

Es por ello que no les resulta familiar. He trabajado con dicha suite, la cual pueden realizar las consultas que les sean necesarias.

Saludos

damimg
  #5 (permalink)  
Antiguo 05/11/2013, 09:23
Avatar de 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: Usar Función MIN entre varios campos

Bueno, si te fijas, lo que pide es precisamente pasar de un codigo de esa suit a SQL para Oracle.
En cuanto a lo util o no útil de una suite... depende de lo que necesites usar. En los desarrollo de la empresa para la que trabajo no se usan, ni se planea usarla.
Cosas de cada empresa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campos, fecha, min, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:55.