Fórum Select com SUM!!! #49891

17/03/2005

0

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

Responder

Posts

17/03/2005

Sandra

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar