[firebase-br] D?vida b?sica e simples sobre SQL :(

Rodrigo rodrigobuschmann em hotmail.com
Sex Ago 11 13:49:44 -03 2006


Supondo o seguinte SQL:

SELECT CLIENTE.NOME, SUM(DESPESAS_ADT.VALOR), SUM(DESPESAS_PROC.VALOR)
FROM PROCESSOS
INNER JOIN CLIENTE ON (PROCESSOS.CLIENTE = CLIENTE.CNPJ)
INNER jOIN DESPESAS_PROC ON (PROCESSOS.REGISTRO = DESPESAS_PROC.REGISTRO)
INNER JOIN DESPESAS_ADT ON (PROCESSOS.REGISTRO = DESPESAS_ADT.REGISTRO)
GROUP BY CLIENTE.NOME

Na tabela DESPESAS_ADT tenho de valor: 100, 200
Na tabela DESPESAS_PROC tenho de valor: 100, 200, 300

A soma retorna 900 e 1200 respectivamente ao invés do que eu "gostaria": 300
e 600.
Ou seja, o resultado de um ele multiplica pelo número de linhas do outro.

Qual a lógica nisso? Como corrigir o SQL?

Obrigado.







Mais detalhes sobre a lista de discussão lista