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

Ayuda Con Este If No Se Como Hacerlo

Estas en el tema de Ayuda Con Este If No Se Como Hacerlo en el foro de Bases de Datos General en Foros del Web. Hola foro Tengo la siguiente consulta: Es un IF y necesito evaluarlo dentro de un WHERE SELECT * FROM tabla WHERE Actoscliente.catastro BETWEEN tarifaliquidacion.Minimo Aqui ...
  #1 (permalink)  
Antiguo 29/09/2005, 10:54
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Sonrisa Ayuda Con Este If No Se Como Hacerlo

Hola foro

Tengo la siguiente consulta:

Es un IF y necesito evaluarlo dentro de un WHERE


SELECT * FROM tabla
WHERE
Actoscliente.catastro BETWEEN tarifaliquidacion.Minimo

Aqui no hay problema pero no me sirve así

lo que necesito evaluar es:


La misma consulta pero con IF


SELECT * FROM tabla
WHERE
(CASE WHEN Actoscliente.catastro > Actoscliente.cuantia THEN
Actoscliente.catastro BETWEEN tarifaliquidacion.Minimo
ELSE
Actoscliente.cuantia BETWEEN tarifaliquidacion.Minimo
END)


Así no me funciona
nunca he usado un IF dentro de un WHERE

Que puedo hacer para solucionar esto


Gracias Por sus respuestas
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #2 (permalink)  
Antiguo 29/09/2005, 12:15
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
Estas haciendo un BETWEEN sin la segunda condicion

Por que no haces esto:
SELECT * FROM ACTOSCLIENTE
WHERE (CATASTRO>CUANTIA AND CATASTRO>MINIMO) OR CUANTIA>MINIMO ?
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 29/09/2005, 13:09
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Haver si observan bien lo que quiero hacer es.

que si Actoscliente.catastro > Actoscliente.cuantia

entonces hago una cosa (en este caso el between)

y si Actoscliente.catastro > Actoscliente.cuantia no es mayor

entonces hago el ELSE es decir otra cosa.


Lo que quiero averiguar es como hago el IF en El Where


Trabajo Con Postgres y así se hace un IF en postgres normalmente
lo que no se es hacerlo dentro del WHERE


GrACIAS POR AYUDARMEN
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #4 (permalink)  
Antiguo 29/09/2005, 13:24
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
YA ESTA SOLUCIONADO EL PROBLEMA ERA QUE SIN QUERER
SE ME OLVIDO LA OTRA PARTE DEL BETWEEN

GRACIAS A MICKEL ME DI CUENTA

ASI QUE SI FUNCIONA EN EL WHERE

ES ASÍ:

WHERE


(CASE WHEN Actoscliente.catastro > Actoscliente.cuantia THEN
Actoscliente.catastro BETWEEN tarifaliquidacion.Minimo AND Tarifaliquidacion.Maximo
ELSE
Actoscliente.cuantia BETWEEN tarifaliquidacion.Minimo AND Tarifaliquidacion.Maximo
END)
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
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 17:25.