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

where con dos posibilidades

Estas en el tema de where con dos posibilidades en el foro de Oracle en Foros del Web. Ayuda con esta consulta Debo darle al usuario la opción de ejecutar un paquete pero con dos opciones : total o solo un dia en ...
  #1 (permalink)  
Antiguo 22/06/2018, 13:13
 
Fecha de Ingreso: noviembre-2013
Mensajes: 146
Antigüedad: 5 años
Puntos: 1
where con dos posibilidades

Ayuda con esta consulta

Debo darle al usuario la opción de ejecutar un paquete pero con dos opciones : total o solo un dia en el where del select he probado varias cosas y lo que necesito es algo asi :

Código SQL:
Ver original
  1. WHERE .......
  2.             AND CASE WHEN p_fecha<>last_day(to_date('14/06/2018','dd/mm/yyyy')) THEN
  3.                      b.fecha_equipo<=to_date('14/06/2018','dd/mm/yyyy')
  4.                      WHEN p_fecha=last_day(to_date('14/06/2018','dd/mm/yyyy')) THEN
  5.                      b.fecha_equipo=to_date('14/06/2018','dd/mm/yyyy')
  6.                 END


o en su defecto mediante una marca asi :
Código SQL:
Ver original
  1. WHERE ....
  2.            AND CASE WHEN p_marca=1 THEN
  3.                      b.fecha_equipo<=to_date('14/06/2018','dd/mm/yyyy')
  4.                ELSE
  5.                      b.fecha_equipo=to_date('14/06/2018','dd/mm/yyyy')
  6.                 END

Como pueden ver necesito ejecutar el query con "<=" o con "="

Alguna idea?
  #2 (permalink)  
Antiguo 25/06/2018, 20:47
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 316
Antigüedad: 9 años, 9 meses
Puntos: 27
Respuesta: where con dos posibilidades

para mi seria la forma mas sencilla asi

Código SQL:
Ver original
  1. WHERE (p_marca = 1 AND b.fecha_equipo<=to_date('14/06/2018','dd/mm/yyyy')
  2. OR (b.fecha_equipo=to_date('14/06/2018','dd/mm/yyyy'))

De esta manera la primera condicion traera solo si se cumple que marca = 1, si marca = 2 u otro valor que no sea 1 entonces buscara automaticamente por la igualdad de la fecha
__________________
Asunción Paraguay
Licenciado - Desarrollador Web - Gerente Desarrollo TI (BEPSA)
Espacio Geek - Comunidad Tecnologica



La zona horaria es GMT -6. Ahora son las 11:14.