[firebase-br] Case when
Carlos Midia
carlosmidia2013 em gmail.com
Qui Dez 19 22:42:36 -03 2013
Boa noite, tentei da forma abaixo porem não deu também.
SELECT
Num_Protoc,
Dat_Saida,
Dat_Presc,
Num_Rec,
Sta_Saida,
CASE
WHEN Nom_Client <>'' THEN (SELECT Nom_Client FROM SAIDA WHERE
Num_Protoc = Num_Protoc)
WHEN Nom_pacien <>'' THEN (SELECT Nom_pacien FROM SAIDA WHERE
Num_Protoc = Num_Protoc)
END AS NOMBRE
FROM
SAIDA
WHERE
Num_Protoc IN (33,34)
Em 19 de dezembro de 2013 21:21, W O
<sistemas2000profesional em gmail.com>escreveu:
> Cada uno de los SELECTs que se encuentran dentro del SELECT principal
> solamente puede devolver UNA FILA. Si devuelven más de una fila entonces
> verás el mensaje: "multiple rows in singleton select".
>
> Y es lógico, porque lo que tú estás queriendo mostrar es el nombre de UN
> PACIENTE y si el SELECT te devuelve el nombre de 500 pacientes ¿cuál de
> ellos es el correcto?
>
> Por lo tanto, en tu SELECT interno debes poner una cláusula WHERE para que
> el resultado se limite a *una sola fila*.
>
> Puedes ver un ejemplo aquí:
>
>
> http://firebird21.wordpress.com/2013/12/19/consultas-con-columnas-condicionales/
>
> Saludos.
>
> Walter.
>
>
>
> 2013/12/19 Carlos Midia <carlosmidia2013 em gmail.com>
>
> > Boa noite, desde já agradeço pela ajuda.
> > montei o sql porem dar a mensagem:
> > multiple rows in singleton select
> >
> > Select Num_Protoc,
> > Dat_Saida,
> > Dat_Presc,
> > Num_Rec,
> > Sta_Saida,
> > Case when (trim(Nom_Client) <> ' ') then trim(Nom_Client)
> > else
> > ( select Nom_pacien as descricao from saida) end as descricao
> > from saida
> >
> > no select só esta envolvida a tabela saida.
> >
> >
> > Em 19 de dezembro de 2013 20:51, Fernando Correa <fjcnando em ig.com.br
> > >escreveu:
> >
> > > Select Num_Protoc,
> > > Dat_Saida,
> > > Dat_Presc,
> > > Num_Rec,
> > > Sta_Saida,
> > > Case when (trim(Nom_Client) <> ' ') then trim(Nom_Client)
> > >
> > > else
> > > ( select Nom_pacien as descricao from saida
> > > where saida. ...... ) end as descricao
> > >
> > > ... aqui coloca-se o from
> > >
> > >
> > > agora voce precisa escrever os from´s corretos....
> > >
> > >
> > >
> > > Espero ajudar
> > >
> > >
> > > Atenciosamente
> > > Fernando Correa
> > >
> > >
> > > 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
> > > >
> > >
> > >
> > >
> > > --
> > > Atenciosamente
> > > Fernando Correa
> > > ______________________________________________
> > > 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