我有一张库存表
身份证 | 数量 | 购买日期 | 价格 |
---|---|---|---|
11202 | 4 | 2023年1月1日 | 3 |
11202 | 3 | 2023年6月12日 | 7 |
5050 | 4 | 2023年10月11日 | 60 |
11202 | 4 | 2023年10月12日 | 5 |
5050 | 8 | 2023年12月12日 | 70 |
和售出商品表
身份证 | 数量 |
---|---|
11202 | 6 |
我想实现先进先出的概念,我可以按如下方式找到总价 我在不同日期在[库存表]中购买了数量。我在表 [已售商品] 中已售出数量
假设我在我的案例项目“11202”中售出了 6 个特定商品的数量,我想通过乘以(购买数量 * 价格)//第一个订单然后乘以下一个订单来找到总价
4 * 3 = 12(第一笔订单日期为 01/01/2023)剩余库存 0
2 * 7 = 14(2023 年 12 月 6 日的第二笔订单)剩余库存 1
12 + 14 = 26 总价
如果您想要每个条目的总价:
SELECT date, qty, sold_qty*price AS total FROM <joined_table> WHERE id = <id> ORDER BY date ASC;
如果您想要物品的总收入:
SELECT id, MIN(qty), SUM(sold_qty * price) AS total
FROM joined_table
GROUP BY id;
假设您的数量总是下降,如果您想要最新条目的数量,您应该使用子查询。
您应该将用于加入表格的代码替换为
joined_table