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.
davy.ai
Para generar la tabla de resultados deseada, se puede utilizar la siguiente consulta SQL:
Explicación:
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.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.GROUP BY
se utiliza para agrupar las filas por las columnas Order y Type para que la funciónSUM()
se pueda aplicar correctamente.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.