sql >> Base de Datos >  >> RDS >> Sqlserver

Costo de inventario primero en entrar, primero en salir (FIFO)

Sugiero diseñar su tabla de la siguiente manera:agregue un nuevo campo a su tabla, es decir, qty_out

La mesa antes de vender:

Item transaction code    qty     qty_out  price   
 apple   IN                    5    0        10.00    
 apple   IN                    3    0        20.00   
 apple   OUT                   6    null

Y la mesa después de vender los 6 artículos:

Item    transaction code    qty     qty_out  price   
 apple   IN                    5    5        10.00    
 apple   IN                    3    1        20.00   
 apple   OUT                   6    null

Puede comparar "qty" con "qty_out" (para transacciones IN) para averiguar el precio.