Array
(
)

Duvidas com query...

Ara.es
   - 16 out 2006

Estou fazendo uma query para usar no delphi.. estou com um problema, estou usando CASE ... WHEN na query.. ai crio um campo chamado ACAO que ira receber I ou D conforme o CASE.. so que no WHERE da query nao estou conseguindo filtrar pelo valor do campo ACAO, pois como ele nao existe, como posso fazer isso ??

é mais ou menos assim:
DECLARE @ACAO CHAR(1)
SELECT @ACAO = :ACAO
SELECT
ACAO = CASE
WHEN ((DATA_HORA_INSTALACAO IS NOT NULL) AND (DATA_HORA_DESINSTALACAO IS NULL)) THEN ´I´
ELSE ´D´
END
FROM
ACESSORIOS ACE LEFT JOIN VEICULOS VEI ON
ACE.CD_VEICULO = VEI.CD_VEICULO
WHERE ((ACAO = @ACAO) OR (@ACAO IS NULL))

o que posso fazer pra filtrar isso?? valeu

Psergio.p
   - 20 out 2006

Ficaria mais ou menos assim

SELECT * FROM (
SELECT
CASE
WHEN ((DATA_HORA_INSTALACAO IS NOT NULL) AND (DATA_HORA_DESINSTALACAO IS NULL)) THEN ´I´
ELSE ´D´
END AS ACAO
FROM
ACESSORIOS ACE LEFT JOIN VEICULOS VEI ON
ACE.CD_VEICULO = VEI.CD_VEICULO) AS SQ
WHERE <COLOCA AQUI A CONDIÇÃO>

Beleza?