Ir ao conteúdo

Posts recomendados

Postado

Bom, nessa query eu tenho que listar os produtos que saíram para consumo em um determinado período, e o quanto foi consumido de cada produto. Tenho o cód do produto, nome, data da movimentação, a quantidade que foi consumida e a quantidade em estoque (somatória de todos os estoques). Porém existe algumas considerações.. existem 2 tipos de saída de produto, a saída para paciente que é (P) e saída para setor que é (S), e isso encontra-se em tp_mvto_estoque. O (c) e (d) é devolução, uma de setor e outra de paciente.. O estoque atual já é a soma dos produtos em todos os estoques.. Porém preciso somar as duas saídas que são S e P e subtrair pela soma das devoluções que são C e D.. S+P-C+D, Tentei realizar um pivot para listar em colunas para realizar a soma e subtração mas sem sucesso, não consigo adicionar as colunas do pivot no select para realizar essas operações. Se tiver uma forma de fazer ou outra melhor, Agradeço. O banco de dados é ORACLE.

Saída do select: https://imgur.com/wsUYobj

 

SELECT
FROM

(

SELECT

TB1.CD_PRODUTO, TB1.DS_PRODUTO, TB1.TP_MVTO_ESTOQUE, TB1.QT_MOVIMENTACAO, TB1.DATA, TB1.ESTOQUE_ATUAL

FROM

(

SELECT

ITMVT.CD_PRODUTO, PROD.DS_PRODUTO, MVT.TP_MVTO_ESTOQUE, ITMVT.QT_MOVIMENTACAO, To_Char(ITMVT.DH_MVTO_ESTOQUE,'MM') AS DATA, Sum(EP.QT_ESTOQUE_ATUAL) AS ESTOQUE_ATUAL

FROM

ITMVTO_ESTOQUE ITMVT, PRODUTO PROD, MVTO_ESTOQUE MVT, EST_PRO EP

WHERE

ITMVT.DH_MVTO_ESTOQUE BETWEEN To_Date ('19/12/2020 23:59:59','DD/MM/YYYY hh24:mi:ss') AND To_Date ('26/12/2020 23:59:59','DD/MM/YYYY hh24:mi:ss') AND PROD.CD_PRODUTO = ITMVT.CD_PRODUTO AND PROD.CD_ESPECIE = 1 AND ITMVT.CD_MVTO_ESTOQUE = MVT.CD_MVTO_ESTOQUE AND MVT.TP_MVTO_ESTOQUE IN ('S','P','C','D') AND EP.CD_PRODUTO = ITMVT.CD_PRODUTO

GROUP BY ITMVT.CD_PRODUTO, PROD.DS_PRODUTO, ITMVT.QT_MOVIMENTACAO, ITMVT.DH_MVTO_ESTOQUE, MVT.TP_MVTO_ESTOQUE

ORDER BY ITMVT.CD_PRODUTO

)TB1

ORDER BY TB1.CD_PRODUTO

)TB2

PIVOT (Sum(QT_MOVIMENTACAO) FOR TP_MVTO_ESTOQUE IN ('S','P','C','D'))
  
  ORDER BY 

  CD_PRODUTO

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!