Select com SUM!!!
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???
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
Curtidas 0
Respostas
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.
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