4
我有两个表,一个用于传入库存,另一个用于传出库存看起来或多或少是这样的:计算销货成本
purchase (incoming)
--------------+----------+-------+-----------
inventory_id | quantity | price | timestamp
--------------+----------+-------+-----------
bobble | 1 | $1.00 | 2014-01-01
trinket | 2 | $1.00 | 2014-01-02
trinket | 2 | $2.00 | 2014-01-03
--------------+----------+-------+-----------
sale (outgoing)
--------------+----------+-------+-----------
inventory_id | quantity | price | timestamp
--------------+----------+-------+-----------
trinket | 1 | $3.00 | 2014-01-04
bobble | 1 | $3.00 | 2014-01-05
trinket | 2 | $3.00 | 2014-01-06
trinket | 1 | $3.00 | 2014-01-07
--------------+----------+-------+-----------
我很想有一个外表看起来像这样的观点:
sale_with_cost_of_goods
--------------+----------+-------------+------------+-----------+-----------+----------
inventory_id | quantity | total_price | timestamp | cogs_fifo | cogs_lifo | cogs_avg
--------------+----------+-------------+------------+-----------+-----------+----------
trinket | 1 | $3.00 | 2014-01-04 | $1.00 | $2.00 | $1.50
bobble | 1 | $3.00 | 2014-01-05 | $1.00 | $1.00 | $1.00
trinket | 2 | $6.00 | 2014-01-06 | $3.00 | $3.00 | $3.00
trinket | 1 | $3.00 | 2014-01-07 | $2.00 | $1.00 | $1.50
--------------+----------+-------------+------------+-----------+-----------+----------
我可以处理销售商品的总价格和平均成本,但FIFO和LIFO查询正在踢我受伤的地方。
这是合理的甚至可能的吗?任何帮助将不胜感激。
如何解决这个问题真的取决于表何时被填充。购买和销售是否更新,以便每行按时间顺序添加?他们是否已经人口稠密,并且齿轮数据是事实? – gwaigh 2014-09-22 16:05:55
销售和购买表格只是附加到最后的最后。因此,如果我现在要购买另一个滑动杆,它将成为购买表的最后一行。我描绘货物计算成本的方式是它将被定义为一个视图,因此当您从中选择时,计算会立即发生。 – zakm 2014-09-22 23:07:44