这是一篇有趣的文章,我发现它对我的项目很有用:
基于集合的 Speed Phreakery:FIFO 库存 SQL 问题:
库存表,我们使用它来跟踪库存进出我们想象的库存仓库的轨迹运动。我们的仓库最初是空的,然后由于库存购买 (tranCode = 'IN') 或由于后续退货 (tranCode = 'RET') 而库存移入仓库,当库存移出仓库时它已售出(tranCode = 'OUT')。每种类型的库存项目都由一个 ArticleID 标识。由于给定项目的购买、销售或退货,库存进出仓库的每次移动都会导致将一行添加到 Stock 表中,由 StockID 标识列中的值唯一标识,并描述有多少添加或删除项目、购买价格、交易日期等。
虽然我在我正在进行的项目中使用它,但我坚持如何让每笔交易“OUT”的收费。我需要有这个值来确定我将向我的客户收取多少费用。
首先在股票中添加 5 个苹果(每个 10.00 美元),总计 50.00 美元
将 3 个苹果(每个 20.00 美元)添加到 8 个苹果的库存中,总价格为 110.00 美元
然后取出 6 件商品(每件 10.00 美元 5 件,每件 20.00 美元 1 件)总计 70 美元
交易完成后,它将留下 2 个苹果,每个 20 美元,总计 40 美元
Here's my current table
Item transaction code qty price
apple IN 5 10.00
apple IN 3 20.00
apple OUT 6
Manual computation for the OUT transaction price (FIFO)
QTY price total price
5 10.00 50.00
1 20.00 20.00
TOTAL:6 70.00
Output of the script:
Item CurrentItems CurrentValue
apple 2 40.00
What I need:
Item transaction code qty price CurrentItems CurrentValue
apple IN 5 10.00 5 50.00
apple IN 3 20.00 8 110.00
apple OUT 6 2 40.00
This too will be OK
Item transaction code qty price CurrentItems
apple IN 5 10.00 0
apple IN 3 20.00 0
apple OUT 6 70
赢得比赛的脚本非常有用,我希望有人可以帮助我了解如何获得每笔“OUT”交易的价格