[firebase-br] Case when

INFOSOL contato em infosol.eti.br
Sex Dez 20 09:53:32 -03 2013


    Tente este.
SELECT   Num_Protoc,   Dat_Saida,   Dat_Presc,   Num_Rec,   Sta_Saida,
   CASE
      WHEN trim(Nom_Client) <>'' THEN Nom_Client
      else Nom_pacient
      END AS NOMBRE
FROM
   SAIDA
WHERE
   Num_Protoc IN (33,34)

    Os campos Nom_pacient e Nom_Client deverão fazer parte da tabela SAIDA. Se assim for, o correto seria ter apenas o
código do paciente ou cliente na tabela SAIDA e ler os nomes das respectivas tabelas de PACIENTES ou CLIENTE ou mesmo as duas juntas 
numa tabela só. Veja nova montagem:
SELECT
   Num_Protoc,   Dat_Saida,   Dat_Presc,   Num_Rec,   Sta_Saida,
   CASE
      WHEN Num_Client > 0
      THEN (SELECT NOME_CADASTRO FROM CADASTRO WHERE NUM_CADASTRO = NUM_CLIENT)
      else (SELECT NOME_CADASTRO FROM CADASTRO WHERE NUM_CADASTRO = NUM_PACIENT)
      END AS NOMBRE
FROM
   SAIDA
WHERE
   Num_Protoc IN (33,34)



        Amilcar



----- Original Message ----- 
From: "Carlos Midia" <carlosmidia2013 em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, December 20, 2013 8:15 AM
Subject: Re: [firebase-br] Case when


Bom dia, com o  is not null também não deu certo.


Em 20 de dezembro de 2013 07:30, José Mauricio Barbisan Zottis <
bzottis em ig.com.br> escreveu:

> tente is not null ao invés de <> ''
>
>
> 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
> >
> ______________________________________________
> 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