MySQL库存/库存平均成本

本文关键字:库存 MySQL | 更新日期: 2023-09-27 17:54:47

我有一个名为"entries"的表,我保存每天的销售和购买交易/条目。"entries"表如下:

条目表——

EntryDate    EntryType    Item    Qty    Rate    Cost    Sale
2016-01-01   Purchase     Apples  10     10      100     -
2016-01-02   Purchase     Apples  20     15      300     -
2016-01-02   Purchase     Oranges 20     15      300     -
2016-01-02   Sale         Apples  5      20      **      100
....
....

现在我需要运行一个查询更新在上面的表中[EntryType]是'Sale'的[cost]列。成本将使用加权平均法计算,即当前销售行成本=总和(所有以前的采购成本-所有以前的[计算]销售成本)/总和(所有以前的采购数量-所有以前的销售数量)。

I Need update query

 update entires set ...

MySQL库存/库存平均成本

为了确保我写对了,

Cost = (Sum of cost previous purchases -Sum of cost previous sales)/(sum of qty previous purchases -Sum of qty previous sales)

好的,首先我想做一个小建议,让大家的生活更轻松。你需要记录一种类型的底片。假设您将采购标记为负(成本和数量)

EntryDate    EntryType    Item    Qty    Rate    Cost    Sale
2016-01-01   Purchase     Apples  -10     10      -100     -
2016-01-02   Purchase     Apples  -20     15      -300     -
2016-01-02   Purchase     Oranges -20     15      -300     -
2016-01-02   Sale         Apples  5      20      **      100
....
....

现在循环遍历每个销售行并运行下面的查询(希望有一个有助于识别订单的ID列):

Cost = SELECT SUM(`ID`)/SUM(`TaxID`) FROM category  WHERE `TaxID` < currentID

使用this and UPDATE cost