clausula WHERE com (CASE ou IF)

Delphi

15/09/2005

EU PRECISO COLOCAR EM UMA SELECT NA CLAUSULA WHERE A CONDICAO DESTE JEITO:

[b:df8914cd55]WHERE IF CAMPO1=X THEN COMPO1=CAMPO4 ELSE COMPO2=CAMPO4[/b:df8914cd55]

OU USANDO O [b:df8914cd55]CASE[/b:df8914cd55]


EM JEITO?


Jbspio

Jbspio

Curtidas 0

Respostas

Rjun

Rjun

15/09/2005

Colocar que banco de dados você esta usando seria uma boa.


GOSTEI 0
Jbspio

Jbspio

15/09/2005

OBRIGADO PELA ATENÇÃO


FIREBIRD 1.5


GOSTEI 0
Motta

Motta

15/09/2005

ACHO QUE SEGUE O PADRAO ANSI

UM EXEMPLO TIRADO DA WEB

SELECT title, price,
Budget = CASE price
WHEN price > 20.00 THEN ´Expensive´
WHEN price BETWEEN 10.00 AND 19.99 THEN ´Moderate´
WHEN price < 10.00 THEN ´Inexpensive´
ELSE ´Unknown´
END,
FROM titles


GOSTEI 0
Rjun

Rjun

15/09/2005

Acho que não tem como você colocar um case em uma cláusula where. O que você pode fazer é ter dois selects e escolher via código qual você vai utilizar.


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

15/09/2005

talvez algo assim funcione:

WHERE
   (CAMPO1=X AND CAMPO1=CAMPO4)
or (CAMPO1<>X AND COMPO2=CAMPO4)



GOSTEI 0
POSTAR