[firebase-br] RES: CASE INVÁLIDO
Reinaldo
diasmartins em gmail.com
Sex Jan 21 09:05:39 -03 2011
Nos testes que fiz aqui tanto a Sintaxe de colocar:
CASE :p_TipoProj
WHEN 'UD' THEN COALESCE(DOA.DOAVALULTDOA, 0.00)
WHEN 'UA' THEN COALESCE(DOA.DOAVALULTACA, 0.00)
...
END AS ULT_VALOR
Como colocar
CASE
WHEN :p_TipoProj = 'UD' THEN COALESCE(DOA.DOAVALULTDOA, 0.00)
WHEN :p_TipoProj = 'UA' THEN COALESCE(DOA.DOAVALULTACA, 0.00)
...
END AS ULT_VALOR
Funcionaram da mesma maneira e trouxeram o mesmo resultado, o problema é
quando eu adiciono Resultado ULT_VALOR na cláusula WHERE. O Campo
ULT_VALOR não é reconhecido como um campo válido.
Estou tentando fazer com Subselect. Colocar o case no where eu nunca fiz.
Att.
Reinaldo
Em 20/01/2011 14:21,
renato-VlHyvqECRQzGL5emXfDNdA/jyz+guNFm em public.gmane.org escreveu:
> Olá!
> O correto para esse caso é assim:
>
> SELECT
> DOA.DOACOD, DOA.DOANOM, DOA.DOASTA, DOA.DOAFIL, DOA.CATCOD, DOA.UNICOD,
> CID.CIDCOD, DOA.DOAPES,
> CASE :p_TipoProj
> WHEN 'UD' THEN COALESCE(DOA.DOAVALULTDOA, 0.00)
> WHEN 'UA' THEN COALESCE(DOA.DOAVALULTACA, 0.00)
> WHEN 'MD' THEN COALESCE(DOA.DOAVALMEDDOA, 0.00)
> WHEN 'MA' THEN COALESCE(DOA.DOAVALMEDACA, 0.00)
> ELSE 0.00
> END AS ULT_VALOR
> FROM ...
>
> Espero ter ajudado.
>
> Att.
>
> Renato Bermudo
>
>
> -----Mensagem original-----
> De: lista-bounces-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org [mailto:lista-bounces-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org] Em
> nome de Reinaldo
> Enviada em: quinta-feira, 20 de janeiro de 2011 10:15
> Para: lista-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org
> Assunto: [firebase-br] CASE INVÁLIDO
>
> Olá Pessoal estou com um problema, que está ocorrendo um erro na execucao do
> select abaixo.
>
> Eu estou criando um campo através do case, e preciso utiliza-lo no WHERE
>
> Alguém tem alguma dica de como resolver isso?
>
> Att.
>
> Reinaldo
>
>
> SELECT
> DOA.DOACOD, DOA.DOANOM, DOA.DOASTA, DOA.DOAFIL, DOA.CATCOD, DOA.UNICOD,
> CID.CIDCOD, DOA.DOAPES,
> CASE
> WHEN :p_TipoProj = 'UD' THEN COALESCE(DOA.DOAVALULTDOA, 0.00)
> WHEN :p_TipoProj = 'UA' THEN COALESCE(DOA.DOAVALULTACA, 0.00)
> WHEN :p_TipoProj = 'MD' THEN COALESCE(DOA.DOAVALMEDDOA, 0.00)
> WHEN :p_TipoProj = 'MA' THEN COALESCE(DOA.DOAVALMEDACA, 0.00)
> ELSE 0.00
> END AS ULT_VALOR
> FROM
> TAB_DOADORES DOA
> LEFT JOIN TAB_LOGRADOUROS LOGR ON LOGR.LOGRCOD = DOA.DOALOGRCOD1
> LEFT JOIN TAB_BAIRROS BAI ON BAI.BAICOD = LOGR.BAICOD
> LEFT JOIN TAB_CIDADES CID ON CID.CIDCOD = BAI.CIDCOD
> WHERE
> DOA.DOASTA = 'DES' AND
> DOA.DOAFIL = 'RC' AND
> DOA.UNICOD = :p_UNICOD AND
> CID.CIDCOD = :p_CIDCOD AND
> DOA.DOAPES = :p_DOAPES AND
> ---Linha com erro
> -----------------------------------------------------------
> ULT_VALOR BETWEEN :p_ValorInicial and :p_ValorFinal
> -----------------------------------------------------------
> ORDER BY
> DOA.DOADATRCA
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
> saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista