[firebase-br] Case when

Wilson Rosa wsrosa em gmail.com
Sex Dez 20 10:15:30 -03 2013


Carlos,

Acredito que no seu caso o que deve resolver é o uso da função Coalesce em
conjunto com a função NullIf:

Select ...,
               Coalesce( NullIf( Nom_Client, '' ), NullIf( Nom_Pacient, ''
), '*** Sem Nome ***'),
           ...

Na função NullIf caso Nom_Client seja vazio retorna Null senão retorna o
próprio Nom_Client e o mesmo acontece com o Nom_Pacient
e na função Coalesce retorna o primeiro campo que não é Null, ou seja, se o
Nom_Client for Null retorna o Nom_Pacient, se Nom_Pacient for Null retorna
a expressão '*** Sem Nome ***'.


Espero ter ajudado.




*Wilson Rosawsrosa em gmail.com <wsrosa em gmail.com>*



Em 19 de dezembro de 2013 21:00, Carlos Midia
<carlosmidia2013 em gmail.com>escreveu:

> Boa noite a todos, preciso de um select ao qual a pesquisa no campo
> descricao retorne Nom_Cliente ou Nom_Pacient.
>
> na tabela de Saida os registros estão preenchidos o campo Nom_Client ou
> Nom_Paciente.
>
> Select Num_Protoc, Dat_Saida, Dat_Presc, Num_Rec,  Sta_Saida,
> Descricao Case when  Nom_Client <> ' '  then ( select Nom_Client as
> des_Forn from saida) else
> ( select Nom_pacien as descricao from saida) end as descricao
>
> fiz dessa forma acima mais não deu certo.
>
> se o campo Nom_Cliente for diferente de vazio então o campo descricao sera
> igual ao Nom_Cliente e se for igual a vazio o campo descricao sera igual ao
> Nom_Paciente.
>
> desde já agradeço.
> ______________________________________________
> 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