[firebase-br] Extrema Lentidão em Consulta Firebird 5

Rodrigo Gomes da Silva rodrgomes em gmail.com
Sexta Maio 16 15:48:37 -03 2025


SELECT
CM.Codigo,
CM.MERCADORIA,
Sum(E.quant) As Saldo,
AVG(E2.preco_custo) As Preco
FROM CADASTRO_MERCADORIAS CM
left Join ESTOQUE E ON (E.Cod_Mercadoria = CM.codigo)
left Join ESTOQUE E2 ON ( E2.Cod_Mercadoria = CM.Codigo )
Group By 1, 2

Você quer o preço medio e a quantidade, por que esta fazendo 2 joins para o
mesmo filtro? Os registros são multiplicados.

SELECT
CM.Codigo,
CM.MERCADORIA,
Sum(E.quant) As Saldo,
AVG(E.preco_custo) As Preco
FROM CADASTRO_MERCADORIAS CM
left Join ESTOQUE E ON (E.Cod_Mercadoria = CM.codigo)
Group By 1, 2

Aparentemente bastaria fazer isso.


Mais detalhes sobre a lista de discussão lista