¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como criar uma consulta SELECT para subtrair duas colunas no SAP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...

inv-table.png olá,

Tenho duas tabelas,

1) Tabela de inventário INV_TABLE: Com os campos: material_no, quantidade, user_id e location_no

2) Tabela de nota de entrega DNOTE_TABLE: Com os campos: DNOTE_NO, material_no, quantidade, user_id e muito mais.

Agora temos um requisito, que precisamos gerar um relatório de estoque que tenha

Material_No, User_ID, Quantidade_Disponível_Total.

Aqui a quantidade total disponível é calculada subtraindo a quantidade da tabela de estoque com a quantidade da tabela de nota de entrega

Você pode ajudar a formar a consulta de seleção...

Usei Left Join, mas não estou obtendo uma contagem adequada e valores negativos estão sendo populados em total_available_Qty. Minha consulta é a seguinte

SELECT  DISTINCT INV.material_no,INV.USER_ID, (SUM(INV.quantity) - SUM(PICK.quantity)) AS TOT_QTY  
FROM INV_TABLE  INV LEFT JOIN 
DNOTE_TABLE  PICK ON INV.USER_ID = PICK.USER_ID AND INV.material_no = PICK.material_no 
WHERE  INV.quantity NOT IN ('0') 
GROUP BY INV.material_no, INV.USER_ID ORDER BY TOT_QTY 

Ou seja, basicamente aqui, como mostrado na imagem, todos os registros da tabela de inventário devem ser recuperados deixando os registros da tabela de nota de entrega.

Por favor, ajude.

Saudações

Govardan

inv-table.png
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Cargando...

Olá,

Muito obrigado pela consulta acima, mas ainda encontrei algumas discrepâncias. Estou encontrando alguns valores negativos. Anexei uma imagem do relatório de estoque consolidado que realmente preciso. Você poderia me ajudar a ajustar a consulta?

consolidated-stock-report.png
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

OLÁ

Tente isso

SELECT material, usuario, sum ( facturado - recogido ) COMO "TOTAL"
DE  
( SELECT INV.material_no como "material", 
       INV.USER_ID como "usuario" ,
       INV.quantity como "facturado" 
       PICK.quantity como "recogido"
DE INV_TABLE  como INV LEFT JOIN DNOTE_TABLE  como PICK EN INV.USER_ID = PICK.USER_ID Y INV.material_no = PICK.material_no 
DONDE  INV.quantity > 0 ) como "final"


AGRUPAR POR material, usuario
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?