soma das linhas

PostgreSQL

30/04/2009

no sql abaixo ele mostra o resultado mas não soma o campo i.precovenda

Alguém pode me ajudar por favor!



select n.numeronf, n.datavenda, p.codigo, p.produto, i.codigonf,i.codigoproduto,i.quantidade,sum(i.precovenda) from notafiscalvenda n
left outer join produtosvenda i ON n.numeronf = i.codigonf
inner join estoque p ON i.codigoproduto = p.codigo where n.datavenda = ´24-04-2009´
group by n.numeronf, n.datavenda, p.codigo, p.produto, i.codigonf,i.codigoproduto, i.quantidade, i.precovenda


Pauloph10

Pauloph10

Curtidas 0

Respostas

Rafaelbizio

Rafaelbizio

30/04/2009

Quando você fala em não soma, voce está falando que não aparece nenhum valor na coluna ? se for isso tenta usar os seguinte comando SQL

select n.numeronf, n.datavenda, p.codigo, p.produto, i.codigonf,i.codigoproduto,i.quantidade,sum(coalesce(i.precovenda,0)) from notafiscalvenda n
left outer join produtosvenda i ON n.numeronf = i.codigonf
inner join estoque p ON i.codigoproduto = p.codigo where n.datavenda = ´24-04-2009´
group by n.numeronf, n.datavenda, p.codigo, p.produto, i.codigonf,i.codigoproduto, i.quantidade, i.precovenda


GOSTEI 0
Jair Bg

Jair Bg

30/04/2009

Sua consulta está sem sentido porque você está totalizando o ´preço de venda´ e não totaliza a ´quantidade´ outra existe o mesmo produto no ´numero da nota fiscal´? isso ai não está bem elaborado não...


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

30/04/2009

que resultado você espera obter?
da forma que está nunca será calculada qualquer soma, até porque nos campos utilizados como agrupamento constam os próprios campos somados. isso não faz sentido.

avaliando a sua instrução, suponho que você queira saber quanto foi vendido por produto, num dia específico. se for isso, a instrução deve ser:
select p.codigo, p.produto, sum(i.quantidade * i.precovenda) valortotal
from notafiscalvenda n
left join produtosvenda i ON n.numeronf = i.codigonf
inner join estoque p ON i.codigoproduto = p.codigo
where n.datavenda = ´24-04-2009´
group by p.codigo, p.produto


se você quiser saber a venda diária de cada produto até uma data, a instrução deve ser:
select n.datavenda, p.codigo, p.produto, sum(i.quantidade * i.precovenda) valortotal
from notafiscalvenda n
left join produtosvenda i ON n.numeronf = i.codigonf
inner join estoque p ON i.codigoproduto = p.codigo
where n.datavenda <= ´24-04-2009´
group by n.datavenda, p.codigo, p.produto


nos diga que resultado você espera obter para que possamos te ajudar de uma forma mais objetiva.


GOSTEI 0
POSTAR