Fórum Consulta em mySQL #191795
30/10/2003
0
Observe a seguinte query:
SELECT C.NUMSEQ, C.NOME, SUM(H.VALOR), SUM(V.VALOR) FROM CLIENTEF C LEFT JOIN HAVER H ON H.CLIENTE=C.NUMSEQ LEFT JOIN VENDA V ON V.CLIENTE=C.NUMSEQ WHERE C.NUMSEQ=1114 AND V.PAGO=´N´ GROUP BY C.NUMSEQ, C.NOME
Tenho 6 registros em vendas que somados = 502,4
Tenho 8 registros em haver que somados = 1050
Ta retornando 4019,2 e 6300
6 x mais que o real
Obs WHERE C.NUMSEQ=1114 so esta para teste. A consulta tem que retornar todos os registros em venda com haver = null se não constar em haver.
Onde estou errando?
Obrigado!
Koplin
Curtir tópico
+ 0Posts
30/10/2003
Marcelo.c
SELECT C.NUMSEQ, C.NOME, SUM(H.VALOR), SUM(V.VALOR) FROM CLIENTEF C LEFT JOIN (HAVER H LEFT JOIN VENDA V ON H.CLIENTE=V.CLIENTE) ON V.CLIENTE=C.NUMSEQ WHERE C.NUMSEQ=1114 AND V.PAGO=´N´ GROUP BY C.NUMSEQ, C.NOME
Gostei + 0
30/10/2003
Koplin
Gostei + 0
30/10/2003
Marcelo.c
SELECT DISTINCT C.NUMSEQ ....
Aparentemente os registros estão sendo trazidos na relação vários para vários. O Distinct limita a exibição, trazendo apenas 1 registro de cada .
Gostei + 0
30/10/2003
Koplin
Acontece a mesma coisa. Se não houver registro em HAVER vem normal, se houver, soma 6x em ambas somas. Ta parecendo bug.
Gostei + 0
31/10/2003
Bacalhau
abração daqueles
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)