[firebase-br] SQL LEFT JOIN

Paulo Geloramo assisinformatica em gmail.com
Ter Jun 5 21:15:39 -03 2018


SELECT
COALESCE(SUM(I.QUANTIDADE), 0) AS REMESSA,
COALESCE(SUM(C.VENDA), 0) AS VENDA,
COALESCE(SUM(Q.QUANTIDADE), 0) AS ESTOQUE
FROM NOTA_PONTO_ITEM I
JOIN PONTO T ON T.ID_PONTO = I.ID_PONTO
JOIN EDICAO E ON E.ID_EDICAO = I.ID_EDICAO
JOIN PRODUTO P ON P.ID_PRODUTO = E.ID_PRODUTO
JOIN ASSUNTO A ON A.ID_ASSUNTO = P.ID_ASSUNTO
LEFT JOIN CE_PONTO_ITEM C ON (C.ID_PONTO = T.ID_PONTO AND C.ID_EDICAO =
E.ID_EDICAO)
LEFT JOIN ESTOQUE Q ON (Q.ID_PONTO = T.ID_PONTO AND Q.ID_EDICAO =
E.ID_EDICAO)
WHERE T.CODIGO_PONTO = 1000
AND A.CODIGO_ASSUNTO = 10

Firebird 2.5.8
Quando faço três consultas separadas
retorna o total correto.

Com dois LEFT JOIN retorna
o total da REMESSA errado.

Alguma sugestão para retornar
REMESSA, VENDA e ESTOQUE na mesma
consulta?

--
Paulo Esteves



Mais detalhes sobre a lista de discussão lista