Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

etspaz

firebird - problemas com sum (está dobrando o resultado)

Recommended Posts

bom dia pessoal, to com um probleminha e peço ajuda de vocês.

a select a seguir tem q trazer a qtd de vendas de um vendedor, valor total, itens devolvidos e valor total de itens devolvidos,

a qtd de vendas e qtd de itens devolvidos esta trazendo certo, mas os valores das vendas e itens devolvidos esta trazendo o dobro do que é de fato.

 

select

count(distinct v.codvenda)qtde_venda,

sum(itemvenda.vl_unitario * itemvenda.qtde ) VL_TOTAL,

count(distinct devolucao_item_venda.cod_produto)qtde_itens_dev,

sum(devolucao_item_venda.qtde * itemvenda.vl_unitario ) valor_dev,

u.nome vendedor

--devolucao_item_venda.qtde * itemvenda.vl_unitario

--itemvenda.vl_unitario * itemvenda.qtde

from

DEVOLUCAO_ITEM_VENDA DI

join DEVOLUCAO_VENDA DV on (DI.cod_devolucao = DV.cod_devolucao)

join VENDAS V on (DV.codvenda = V.codvenda)

join itemvenda IV on (iv.codvenda = v.codvenda)

join usuario u on (vendas.usuario_id = usuario.usuario_id)

 

where

DV.dt_devolucao between '01.02.2007' and '29.02.2008'

and vendas.codvenda = 184246

and v.usuario_id = 107

group by u.nome

 

a venda 184246 tem dois itens devolvidos cada um com valor de 8,50 deveria trazer 17,00 como valor total, mas traz 34,00.

o banco é o firebird

 

acho q estou errando algo mas não achei o q.

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa beleza?

existem sim a necessidade do sum, pois é pra trazer o valor total dos itens devolvidos,e não linha por linha,

nesta query eu estou filtrando por uma venda: and vendas.codvenda = 184246, para testar o resultado

mas no relatório não será, pois o relatório conterá a qtd de todas as vendas de um vendedor, valor total das vendas, qtd de itens devolvidos e valor total devolução, tudo dentro de um periodo.

então será filtrado pelo vendedor e periodo selecionado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta área é um pouco complicada pois não temos o banco para poder testar, mas vamos tentando ;) .

Normalmente quando tenho ese tipo de problema o primeiro passo a verificar é se os joins estão corretos, é muito comum caso algum join esteja errado duplicar valores de equações, ou até mesmo registros. De uma verificada.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.