Sou novo aqui no fórum e também comecei a pouco tempo trabalhar com banco de dados Oracle, gostaria de uma ajuda na seguinte situção:
Estou desenvolvendo um relatório personalizado em um sistema da empresa, onde o relatório principal falta a quantidade atual do produto no estoque, essa informação eu já possuo no relatório personalizado, o que me falta nesse caso é ficar assim:
10/2019 11/2019 12/2019
CD_PROD DS_PROD UNI_PROD Qtd. Movimentada Qtd. Movimentada Qtd. Movimentada Média Qtd Qtd Atual Estoq.
001 Açúcar Unidade 1 2 3 2 5
002 Café Unidade 1 2 1,5 4
003 Bolacha Unidade 2 3 1 2 6
Abaixo tenho o select do relatório:
SELECT IE.DH_MVTO_ESTOQUE,
E.CD_ESPECIE,
E.DS_ESPECIE,
S.CD_SETOR,
S.NM_SETOR,
IE.CD_PRODUTO,
P.DS_PRODUTO,
UNI_PRO.DS_UNIDADE,
ME.CD_ESTOQUE,
E.DS_ESTOQUE,
Sum(CASE
ME.TP_MVTO_ESTOQUE
WHEN 'D'
THEN (IE.QT_MOVIMENTACAO * -1) * UNI_PRO.VL_FATOR
WHEN 'C'
THEN (IE.QT_MOVIMENTACAO * -1) * UNI_PRO.VL_FATOR
WHEN 'N'
THEN (IE.QT_MOVIMENTACAO * -1) * UNI_PRO.VL_FATOR
ELSE IE.QT_MOVIMENTACAO * UNI_PRO.VL_FATOR
END) QTD_MOVIMENTADA,
fnc_mges_retorna_estoque_atual(ME.CD_ESTOQUE, IE.CD_PRODUTO) ESTOQUE_ATUAL
FROM DBAMV.ITMVTO_ESTOQUE IE
JOIN DBAMV.MVTO_ESTOQUE ME ON IE.CD_MVTO_ESTOQUE = ME.CD_MVTO_ESTOQUE
JOIN DBAMV.PRODUTO P ON IE.CD_PRODUTO = P.CD_PRODUTO
JOIN DBAMV.ESPECIE E ON P.CD_ESPECIE = E.CD_ESPECIE
JOIN DBAMV.SETOR S ON ME.CD_SETOR = S.CD_SETOR
JOIN DBAMV.UNI_PRO ON IE.CD_UNI_PRO = UNI_PRO.CD_UNI_PRO
JOIN DBAMV.ESTOQUE E ON ME.CD_ESTOQUE = E.CD_ESTOQUE
WHERE ME.TP_MVTO_ESTOQUE IN ('P', 'S', 'D', 'C', 'N', 'V')
AND ME.CD_MULTI_EMPRESA = 2
GROUP BY IE.DH_MVTO_ESTOQUE,
E.CD_ESPECIE,
E.DS_ESPECIE,
S.CD_SETOR,
S.NM_SETOR,
IE.CD_PRODUTO,
P.DS_PRODUTO,
UNI_PRO.DS_UNIDADE,
ME.CD_ESTOQUE,
E.DS_ESTOQUE
ORDER BY S.CD_SETOR,
E.CD_ESPECIE,
IE.DH_MVTO_ESTOQUE,
IE.CD_PRODUTO,
E.DS_ESPECIE
Obrigado.