[firebase-br] Consulta SQL Parte 2

Kleber Caneva kdcc em terra.com.br
Ter Out 9 11:26:36 -03 2007


Se eu entendi o que você quer, é só fazer assim:

SELECT
  Vendas.Codigo,
  Vendas.Data,
  Vendas.CodClie,
  SUM( Itens.Quantidade * Itens.PrecoVenda ) AS TotVenda,
  SUM( Itens.Quantidade * Itens.PrecoCusto ) AS TotCusto,
  (Select SUM( Extras.Valor ) From Extras Where Vendas.Codigo = 
Extras.CodVenda) AS TotCustoExtra
FROM Vendas
INNER JOIN Itens ON Vendas.Codigo = Itens.CodVenda
GROUP BY Vendas.Codigo, Vendas.Data, Vendas.CodClie
ORDER BY Vendas.Codigo

[]´s

Kléber Caneva

----- Original Message ----- 
From: "Murilo" <murilo em conchalnet.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Tuesday, October 09, 2007 10:29 AM
Subject: [firebase-br] Consulta SQL Parte 2


Fiz meu SQL da seguinte forma:



SELECT

Vendas.Codigo,

Vendas.Data,

Vendas.CodClie,

SUM( Itens.Quantidade * Itens.PrecoVenda ) AS TotVenda,

SUM( Itens.Quantidade * Itens.PrecoCusto ) AS TotCusto,

SUM( Extras.Valor ) AS TotCustoExtra

FROM Vendas INNER JOIN Itens ON Vendas.Codigo = Itens.CodVenda INNER

JOIN Extras ON Vendas.Codigo = Extras.CodVenda

GROUP BY Vendas.Codigo, Vendas.Data, Vendas.CodClie

ORDER BY Vendas.Codigo



Meu problema é o seguinte:

Se a tabela de CUSTOS EXTRAS tiver 10 registros, os resultados das somas

são multiplicados por 10. Por exemplo, se o resultado correto da soma do

campo TotVenda seria 100,00, esta instrução SQL acima retorna para mim

R$1.000,00 caso existam 10 registros na tabela de CUSTOS EXTRAS. O mesmo

ocorre com a soma do campo TotCusto.



Já tentei de tudo, mas não obtive nenhum sucesso. Ao meu entender este

select não deveria ter este comportamento, que está errado, pois estou

agrupando ele



Sei que alguém vai perguntar: "Porque uma chave estrangeira na tabela de

Custos Extras apontando para a tabela de Itens?" - Resposta: É para a

manutenção desta tabela, pois sempre que um item é adicionado na tabela

de itens um Trigger gera os custo extras de cada item. Também poderei

utilizar este campo para a emissão de um relatório agrupado por produto.



será que poderia ser algum BUG? não consegui enteder o porque retornaria

dessa forma....



[]'s



Agradeço atencipadamente a ajuda de todos.



Murilo ABCS Informática/Conchalnet

Rua das Angélicas, 622 - Centro

Conchal/SP - CEP 13835-000

 <http://www.abcsinformatica.com.br> www.abcsinformatica.com.br

www.conchalnet.com.br





______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=kdcc&_l=1,1191939011.642501.21104.tacamaca.hst.terra.com.br,5286,Des15,Des15






Mais detalhes sobre a lista de discussão lista