[firebase-br] Coalesce

Kelver Merlotti kmerlotti em gmail.com
Dom Nov 7 20:26:38 -03 2010


Boa noite Jose Luiz!
O Coalesce testa se um campo de um registro é null, e sendo, retorna
no lugar deste null o valor passado em seu segundo parâmetro.
Entretanto, se não há registro retornado no select, não há campo/dado
para que o coalesce possa atuar!
Os nulls que você está vendo não são os "dados" dos campos, mas sim
que não houve retorno de registro algum!
Se você precisa mostrar alguns dados mesmo eles não existindo,
verifique a dica do Alysson para ver se neste caso o left join se
aplica, ou estude a criação de uma Stored Procedure selecionável.
Abraços!

Kelver Merlotti
Coordenador Editorial da Active Delphi
Site: http://www.activedelphi.com.br
Contato: kelver em activedelphi.com.br
Twitter: http://www.twitter.com/kmerlotti
Tem um segundo? Então, dá uma olhadinha nisso:
Um site de publicidades, de Portugal, está pagando em euros
(quase 3x mais que em reais) pra quem estiver disposto a:
* Ler anúncios
* Visitar sites
* Clicar em banners
* Navegar na NET
* Ler e-mails
* Convidar novos usuários
O pagamento pode ser feito de várias formas!
Registra lá. Não custa nada!!! ;-)
http://www.publipt.com/pages/index.php?refid=kmerlotti



2010/11/7 Jose Luiz de Medeiros <joseluiz em digitoneletronica.com.br>:
> Amigos, boa tarde
>
>
>
> Preciso em uma consulta quando não existir registro, usando coalesce mudaria
> de null para isso:
>
>
>
> select coalesce(P.ID,0)as id,coalesce(P.DESCRICAO,'sem registro')as descr,
>
> coalesce(P.VENDA,0)as venda,coalesce(E.ESTOQUE,0)as estoque from PRODUTO P,
>
> ESTOQUE_TERMINAL E
>
> WHERE
>
> P.ID = E.ID_PRODUTO AND
>
> E.ID_EMPRESA = 1 AND
>
> E.ID_TERMINAL = 2
>
> order by P.descricao
>
>
>
> Mesmo usando dessa forma, se não existir registros tenho null em todos os
> campos.
>
>
>
> Onde eu errei nesse coalesce?
>
>
>
>
>
> Grato:
>
> Jose Luiz
>
> ______________________________________________
> 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