produto, saldo anterior, entradas, saÃdas, saldo atual
SELECT esproduto, anterior, entradas, saidas, anterior + entradas - saidas AS saldo
FROM
(
SELECT
esproduto,
SUM( if( YEAR( esdatlan ) < 2020, if( estiplan = '1',esqtde, -esqtde), 0 ) ) AS anterior,
SUM( if( YEAR( esdatlan ) = 2020 AND estiplan='1', esqtde, 0 ) ) AS entradas,
SUM( if( YEAR( esdatlan ) = 2020 AND estiplan='2', esqtde, 0 ) ) AS saidas
FROM jpestoque
GROUP BY esproduto
) AS b
Talvez interesse isto:
1.102 registros é o resultado. a tabela tem 243.693 registros.
1.2 segundos de tempo (0.5 foi na segunda vez, porque fica em cache fica mais rápido).
Tentem somar 243.693 registros em DBF pra ver o que dá....rs