es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problema, Recibo y Saldo de la tabla MySql.

Tengo dos tablas, issue y receipt, donde emito y recibo cantidades:

Tabla de emisión:

Orden Tipo Cant.
OD12 A 48
OD19 A 33
OD12 B 14

Tabla de recepción:

Orden Tipo Cant.
OD12 A 20
OD19 A 15
OD12 B 11

El resultado deseado que quiero:

Balance:

Orden Tipo Cant.
OD12 A 28
OD19 A 18
OD12 B 03

La tabla IssueTable contiene detalles de las órdenes que se han emitido, una única orden puede tener múltiples tipos de productos. De manera similar, la tabla ReceiptTable contiene detalles de las órdenes que se han completado y recibido. Quiero una tabla de Balance que reste la cantidad emitida de la cantidad recibida según la Orden y el Tipo.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para generar la tabla de resultados deseada, se puede utilizar la siguiente consulta SQL:

    SELECT IssueTable.Order, IssueTable.Type, SUM(IssueTable.Qty - ReceiptTable.Qty) AS Qty
    FROM IssueTable
    LEFT JOIN ReceiptTable ON IssueTable.Order = ReceiptTable.Order AND IssueTable.Type = ReceiptTable.Type
    GROUP BY IssueTable.Order, IssueTable.Type
    ORDER BY IssueTable.Order
    

    Explicación:

    • La cláusula LEFT JOIN se utiliza para unir la tabla IssueTable y la tabla ReceiptTable en las columnas Order y Type. Esto asegura que se devuelvan todos los registros de la tabla IssueTable y solo se incluyan los registros coincidentes de la tabla ReceiptTable en el resultado.
    • La función SUM() se utiliza para calcular la cantidad de saldo restando la cantidad de la tabla ReceiptTable de la cantidad de la tabla IssueTable para cada combinación de Order y Type.
    • La cláusula GROUP BY se utiliza para agrupar las filas por las columnas Order y Type para que la función SUM() se pueda aplicar correctamente.
    • La cláusula ORDER BY se utiliza para ordenar la tabla de resultados por la columna Order.

    La tabla resultante mostrará las cantidades de saldo solicitadas para cada combinación de Order y Type.

Comments are closed.