【发布时间】:2019-02-05 13:45:09
【问题描述】:
假设您有一家商店和一家库存。您正在以不同的价格购买产品,并希望计算每次销售的成本。问题是购买价格不是固定的,您可能会在销售中销售来自不同购买的物品,购买价格混合。成本应该按照一种“先进先出”的原则计算:您首先出售库存中最旧的商品。
例如,这可能会发生:
2018-10-01:您以每件 10.00 美元的价格购买了 6 件“Product1”并将它们放入您的库存中。
2018-10-04:客户想要 2 件“Product1”。您将进入您的库存并出售您以每件 10.00 美元购买的 2 件商品。
2018-11-01:您以每件 8.00 美元的价格购买了 8 件“Product1”并将它们放入您的库存中。
2018-11-06:客户想要 7 件“Product1”。您将进入库存并出售 4 件以每件 10.00 美元购买的物品和 3 件以每件 8.00 美元购买的物品。
2018-12-01:您以每件 12.00 美元的价格购买了 4 件“Product1”。
2018-12-10:客户想要 6 件“Product1”。您将进入库存并出售 5 件以每件 8.00 美元购买的商品和 1 件以 12.00 美元购买的商品。
因此尝试将其放入 2 个表中:
表格:购买
purchase | product | amount | purchase price per item| date |
1 1 6 10.00 2018-10-01
2 1 8 8.00 2018-11-01
3 1 4 12.00 2018-12-01
表格:销售额
sale | product | amount | date | costs
1 1 2 2018-10-04 ??
2 1 7 2018-11-06 ??
3 1 6 2018-12-10 ??
sales.costs 中的值应该是:
Sale 1: 2*10.00 = 20.00
Sale 2: 4*10.00 + 3*8.00 = 64.00
Sale 3: 5*8.00 + 1*12.00 = 52.00
如果/如何在 MySql 5.6 中使用 UPDATE 语句进行计算,有什么想法吗?我不得不承认我什至不知道如何从这里开始或尝试什么。
【问题讨论】:
-
必须在纯MySQL中计算?没有 PHP、C++、Javascript 之类的?
标签: mysql