Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Coût d'inventaire premier entré, premier sorti (FIFO)

Je suggère de concevoir votre tableau comme ci-dessous :ajoutez un nouveau champ à votre tableau, c'est-à-dire qty_out

Le tableau avant vente :

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

Et le tableau après vente des 6 objets :

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

Vous pouvez comparer "qty" avec "qty_out" (pour les transactions IN) pour connaître le prix.