Fórum Ajuda em Consulta SQL - Retorno Agrupado #60457

04/02/2009

0

Olá,
Tenho 3 tabelas e gostaria de fazer um join das mesmas trazendo valores somados no resultado da consulta. Não estou conseguindo.
Se puder ajudar, agradeço.

Tabela PRODUTOS
Tem os campos: Código e descrição

Tabela MOVI_TERMIN_PRODS
Tem os campos: Produto, data e quantidade;
Tem os registros:
Produto Data Valor_Um
2 15/01/2009 3,00

Tabela MOVIESTOQUE
Tem os campos: Produto, data e quantidade;
Tem os registros:
Produto Data Valor_TRes
2 15/01/2009 4,00
2 16/01/2009 8,00


Preciso de uma consulta que me traga somados os campos Valor_Um e
Valor_Tres, agrupados (na mesma linha) pelo código do produto. O retorno

O retorno da consulta deve ser esse:
Produto Soma_Valor_Um Soma_Valor_Tres
2 3,00 12,00

Obrigado


Armindo

Armindo

Responder

Posts

05/02/2009

Leandro.cido

Boa noite, vc pode fazer mais ou menos assim:

SELECT dbo.tbproduto.produto, SUM(dbo.tbmovi_termin_prods.valor_um) AS valor_um, SUM(dbo.tbmoviestoque.valor_tres) AS valor_tres
FROM dbo.tbmovi_termin_prods INNER JOIN
dbo.tbproduto ON dbo.tbmovi_termin_prods.codproduto = dbo.tbproduto.codigo INNER JOIN
dbo.tbmoviestoque ON dbo.tbproduto.codigo = dbo.tbmoviestoque.codproduto
GROUP BY dbo.tbproduto.produto


Responder

Gostei + 0

05/02/2009

Armindo

Boa noite, vc pode fazer mais ou menos assim: SELECT dbo.tbproduto.produto, SUM(dbo.tbmovi_termin_prods.valor_um) AS valor_um, SUM(dbo.tbmoviestoque.valor_tres) AS valor_tres FROM dbo.tbmovi_termin_prods INNER JOIN dbo.tbproduto ON dbo.tbmovi_termin_prods.codproduto = dbo.tbproduto.codigo INNER JOIN dbo.tbmoviestoque ON dbo.tbproduto.codigo = dbo.tbmoviestoque.codproduto GROUP BY dbo.tbproduto.produto


O problema é justamente esse colega.
Se eu fizer um join, ele será das [b:e8e2dbcce3]três[/b:e8e2dbcce3] tabelas. Aí o resutado ficaria assim:
O retorno da consulta deve ser esse:
Produto Soma_Valor_Um Soma_Valor_Tres
2 6,00 12,00
Ou seja, o Soma_Valor_Um somará o Valor_Um tantas vezes quantas forem a quantidade de registros encontratodos. Como na tabela MOVIESTOQUE ele ocorre duas vezes, o Valor_Um será somado duas vezes.

Obrigado.


Responder

Gostei + 0

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

Aceitar