sam*_*a07 6 sql sql-server-2008
这是一篇有趣的文章,我发现在我的项目中很有用:
基于集合的Speed Phreakery:FIFO库存SQL问题:
我们用来跟踪库存进出我们假想库存仓库的轨道运动的库存表.我们的仓库最初是空的,然后库存由于库存购买(tranCode ='IN')或由于后续退货(tranCode ='RET')而进入仓库,当库存移出仓库时它被出售(tranCode ='OUT').每种类型的库存都由ArticleID标识.由于购买,销售或返回给定物品,库存进出仓库的每次移动都会导致一行被添加到Stock表中,由StockID标识列中的值唯一标识,并描述了多少已添加或删除商品,购买价格,交易日期等.
虽然我在正在进行的项目中使用这个,但我坚持如何在每次交易'OUT'上获得价格.我需要有这个价值来确定我将向客户收取多少费用.
首先将5个苹果(每个10.00美元)添加到库存中,总计50美元
将3个苹果(每个20.00美元)添加到8个苹果的库存中,总价格为110.00美元
然后取出6件物品(每件5美元,每件10美元,每件20美元),共计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
Run Code Online (Sandbox Code Playgroud)
发布的剧本赢得了比赛非常有用,我希望有人可以帮我了解如何获得每次'OUT'交易的价格
小智 0
如何构建一个表,其中每个产品项目都有一行,以便为每个苹果插入一行及其价格和可用性(未售出/售出)。
然后,您可以选择前 n 件商品,以及与您想要的每种产品相关的价格。本质上,您只是创建一个项目队列,并从队列的前面(具有最早的插入日期)删除“未售出”的项目。