[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