我有一张存货表
| ID|数量|购买日期|价格|
| --|--|--|--|
| 11202 | 4 |2023年01月01日| 3 |
| 11202 | 3 |2023年12月06日| 7 |
| 5050 | 4 |2023年10月11日| 60 |
| 11202 | 4 |2023年10月12日| 5 |
| 5050 | 8 |2023年12月12日| 70 |
和Item sold表
| ID|数量|
| --|--|
| 11202 | 6 |
我想实施先进先出的概念,我可以找到总价格如下我有数量购买[库存表]在不同的日期。我有数量出售表[项目出售]
让我们说,我卖了6个数量为一个特定的项目在我的情况下项目“11202”我想找到总价格乘以y(购买数量 * 价格)//为第一个订单,然后乘以下一个
4 * 3 = 12(第一个订单日期为2023年1月1日)剩余库存0
2 * 7 = 14(2023年6月12日第二次订购)剩余库存1
12 + 14 = 26总价
我已经连接了类似于joined table的表,但我不知道如何添加一个新列,其中包括剩余项目和总价
2条答案
按热度按时间1rhkuytd1#
一种方法是使用库存和销售的累积总和创建区间,然后根据重叠进行连接:
字符串
注意事项:我将
Dt
列添加到sales中,这样就可以对累计和进行排序。这里有一个db<>fiddle。
ulydmbyx2#
如果你想知道每个条目的总价格:
字符串
如果您想要项目的总收入:
型
假设你的数量总是下降,如果你想要最新条目的数量,你应该使用子查询。
您应该将用于连接表的代码替换为
joined_table