Select com SUM!!!

Firebird

17/03/2005

Seguinte tenho as seguinte tabelas: PRODUTO, TAB1, TAB2

PRODUTO
...CODPROD
...NOMEPROD
...VALOR

TAB1
...CODPROD
...QTDEPROD

TAB2
...CODPROD
...QTDEPROD

Tava querendo fazer um relatorio pra trazer o valor pago nos produtos!!
tipow assim:

select sum(P.VALOR * T1.QTDEPROD), P.NOMEPROD FROM PRODUTO P
left join TAB1 T1 on (T1.CODPROD = P.CODPROD)
group by P.NOMEPROD

assim funciona pra uma tabela, mas eu quero para as 2 tabelas saca!

tipo assim:

select sum(P.VALOR * T1.QTDEPROD), P.NOMEPROD FROM PRODUTO P
left join TAB1 T1 on (T1.CODPROD = P.CODPROD)
group by P.NOMEPROD
union all
select sum(P.VALOR * T2.QTDEPROD), P.NOMEPROD FROM PRODUTO P
left join TAB1 T2 on (T2.CODPROD = P.CODPROD)
group by P.NOMEPROD

O problema eh que assim ele repete o produto!!!

prod1 valor 10
prod2 valor 20
prod1 valor 30

e eu queria que ficasse somado junto prod1 com prod1 e etc.

algo assim:

select sum(P.VALOR * (T1.QTDEPROD + T2.QTDEPROD)), P.NOMEPROD FROM PRODUTOS P
left join TAB1 T1 ON (T1.CODPROD = P.CODPROD)
left join TAB2 T2 ON (T2.CODPROD = P.CODPROD)
group by P.NOMEPROD

o problema eh que assim nao da certo! ele traz uma soma invalida e em apenas um dos produtos listados e resto traz null!!

to usando Firebird 1.03 alguma coisa!!

sera que tem como fazer isso?? algum sum dentro de outro sum, com union ou sei la???


Fred

Fred

Curtidas 0

Respostas

Sandra

Sandra

17/03/2005

Bloqueado. Tópico em duplicidade!
http://forum.clubedelphi.net/viewtopic.php?t=60215

Por favor, releia as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.


GOSTEI 0
POSTAR