[firebase-br] Erro SQL...

eduardo eduardo em icontroller.com.br
Qua Maio 10 14:48:00 -03 2006


Oi Danilo

A função de agregação SUM despreza NULLs.
Você deveria se preocupar com o NULL se fizesse algo como 
SUM(P.ESTOQUE+P.OUTRACOISA). Neste caso, se um dos dois fosse NULL a 
soma seria NULL e poderia afetar o resultado esperado.

Com isso, na construção abaixo, todas as referência a P.ESTOQUE>0  são 
desnecessárias, pois se P.ESTOQUE for = 0 não afetará nada e se for NULL 
será ignorado pelo FireBird.


[]s Eduardo

Danilo Rogério escreveu:
> Mestre, vc pode colocar um COALESCE na sua soma...
>    
>   SELECT PR.DESCRICAO
> , PR.UNIDADE_MEDIDA
> , PR.ESTOQUE
> , PR.VALOR_CMC
> , (
>               SELECT SUM(COALESCE(P.ESTOQUE,0)) FROM PRODUTO P
>               WHERE (PR.CODIGO = P.CODIGO) 
>               AND (P.ESTOQUE > 0) 
> 
> ) AS TOTAL
> FROM PRODUTO PR 
> WHERE (PR.ESTOQUE > 0)
> 
> Att.
>   Danilo
>    
>   
> Luiz Carlos <luizcrpereira em yahoo.com.br> escreveu:
>   alguêm poderia me dizer onde está o erro nesse SQL. Pois no Campo TOTAL ele não me retorna nada...
> 
> SELECT PR.DESCRICAO
> , PR.UNIDADE_MEDIDA
> , PR.ESTOQUE
> , PR.VALOR_CMC
> , (
> SELECT SUM(P.ESTOQUE) FROM PRODUTO P
> WHERE (PR.CODIGO = P.CODIGO) 
> AND (P.ESTOQUE > 0) 
> 
> ) AS TOTAL
> FROM PRODUTO PR 
> WHERE (PR.ESTOQUE > 0)
> 
> Obrigado as todos,
> 
> 
> ---------------------------------
> Yahoo! Messenger com voz - Instale agora e faça ligações de graça. 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 
> 
> 		
> ---------------------------------
>  Abra sua conta no Yahoo! Mail - 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista