GARANTIR DESCONTO

Fórum Sum e Group By #267919

09/02/2005

0

Olá a todo,

Não estou conseguindo obter o resultado de uma soma de campo.

campo1 tem os nomes das pessoas
campo2 tem os valores referente a estas pessoas.

quanto somo os valores do campo2, exemplo:
campo2.valorcompra = 2,3
o sum dá o resultado certinho que é 5, porém, quando
tenho que encaixar o campo1 com o nome das pessoas
aí o resultado sai dobrado, ou seja, 10.


é +/- assim:

select
campo1.produto,
sum(campo1.valorcompra) as valor,
from
campo1
group by campo1.produto

com este código, o resultado sai direitinho, porém quando acrescento campo2, ai os valores saem duplicados.

select
campo1.produto, campo2.nome
sum(campo1.valorcompra) as valor,
from
campo1, campo2
group by campo1.produto, campo2.nome


sei que é ignorância minha, mas agluém pode me ajudar?

de já agradeço!

:)
Carlos


Carlosceuma

Carlosceuma

Responder

Posts

09/02/2005

Garibaldi

Talvez isso lhe ajude ou no mínimo forneça uma pista: todos os campos referenciados na cláusula SELECT tem que estar em GROUP BY


Responder

Gostei + 0

09/02/2005

Carlosceuma

valeu garibaldi, mas já fiz isso, incluir os campos, mas não os somandos.
será isso que está aprensentando o dobro do valor.
acho que é pela quantidade de tables que coloquei.

Se depois do from tem duas tabelas campo1 e campo2, o resultado
da soma sai dobrado.

mas coloquei os campos no Group By, só não os campos somados.


Responder

Gostei + 0

09/02/2005

Carlosceuma

Alguém pode tirar esta dúvida?


Responder

Gostei + 0

09/02/2005

Aroldo Zanela

Colega,

Acho que já respondi isto em outro tópico seu. Em todo caso, vamos lá.
Quando você inclui mais de uma tabela na [b:99e958f56f]cláusula from[/b:99e958f56f], você previsa efetuar uma associação entre as mesmas para não obter um produto cartesiano.
Se ainda estiver em dúvida, coloque a estrutura completa de ambas as tabelas para que possamos elaborar uma resposta mais adequada.


Responder

Gostei + 0

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

Aceitar