[firebase-br] RES: RES: Coalesce Null?

Zottis bzottis em ig.com.br
Qui Ago 23 23:24:48 -03 2012


Obrigado Mauricio (Xara) resolveu.

E agradeço a todos pelas respostas.

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de MAURICIO COSTA
Enviada em: quinta-feira, 23 de agosto de 2012 19:54
Para: FireBase
Assunto: Re: [firebase-br] RES: Coalesce Null?

Dá uma olhada no código abaixo e verifica se isso resolve o probelma.
select first 1 coalesce(G.leitura, 0) anterior from gas G where G.cod_apto =
:VarCod_apto union Select '0' as anterior From RDB$DATABASE order by 1 desc

Em 23 de agosto de 2012 19:34, André Conrado <acf em andreconrado.net>escreveu:

> Zottis, o que ocorre é que quando não há registros o COALESCE nem é 
> chamado, não há informação para ele analisar. O uso da função agregada 
> é um "truque" para que pelo menos uma linha seja executada.
>
> Vou passa novamente os comandos pq coloquei as funções na ordem errada:
>
> select coalesce(max(anterior),0) from (select first 1 leitura anterior 
> from gas where cod_apto = :VarCod_apto order by 1 desc)
>
> A função MAX precisa vir primeiro para que a função COALESCE tenho 
> algo para analisar.
>
> Abçs
>
> Em 23 de agosto de 2012 18:47, Zottis <bzottis em ig.com.br> escreveu:
> > Isso que eu não estou entendendo.
> > O COALESCE não seria para resolver a questão do NULL?
> >
> > Vou tentar e ver se da certo, aviso na lista amanhã.
> >
> > Obrigado a todos que responderam
> >
> >
> > -----Mensagem original-----
> > De: lista-bounces em firebase.com.br 
> > [mailto:lista-bounces em firebase.com.br]
> Em
> > nome de André Conrado
> > Enviada em: quinta-feira, 23 de agosto de 2012 17:48
> > Para: FireBase
> > Assunto: Re: [firebase-br] Coalesce Null?
> >
> > Tenta assim:
> >
> > select max(coalesce(anterior,0)) from (select first 1 leitura 
> > anterior
> from
> > gas where cod_apto = :VarCod_apto order by 1 desc)
> >
> > abçs
> >
> >
> > Em 23 de agosto de 2012 17:29, Gladiston Santana 
> > <gladiston em vidy.com.br>
> > escreveu:
> >> Não, porque nenhum registro foi encontrado.
> >> Se estiver tentando a sentença dentro de uma procedure inicialize-a 
> >> com valor zero (ou nulo) faça o select, se permanecer zero você
> prossegue,
> > ex:
> >> anterior=0
> >> select first 1 coalesce(leitura,0) as anterior from gas into 
> >> :anterior
> >>
> >> se nenhuma linha for atingida pelo seu select, a variavel anterior 
> >> permanecerá com o valor com o qual foi inicializada.
> >>
> >> Contudo, me parece que você deseja apenas sabe se dados existem, 
> >> neste caso recomendo o exists if [not] exists(select blablabla) 
> >> then begin ...
> >> end
> >>
> >> Os algoritimos para checar existencia de dados são mais rapidos do 
> >> que um select trivial com first e order.
> >>
> >> []'s e sucesso.
> >>
> >>
> >> Em 23 de agosto de 2012 12:52, Zottis <bzottis em ig.com.br> escreveu:
> >>
> >>> Pessoal, o comando abaixo não deveria retornar “0”se fosse nullo?
> >>>
> >>>
> >>>
> >>> Mas esta retornando nullo
> >>>
> >>>
> >>>
> >>> select first 1 coalesce(G.leitura, 0) anterior
> >>>
> >>> from gas G
> >>>
> >>> where G.cod_apto = :VarCod_apto
> >>>
> >>> order by 1 desc
> >>>
> >>> ______________________________________________
> >>> 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
> >
> >
> > ______________________________________________
> > 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