這裏有一個有趣的文章,我發現在我的項目有用:先入先出(FIFO)的庫存成本
Set-based Speed Phreakery: The FIFO Stock Inventory SQL Problem:
我們用它來跟蹤的軌道運動庫存表進出我們想象中的庫存倉庫。我們的倉庫最初是空的,然後股票因股票購買(tranCode ='IN')或由於隨後的返回(tranCode ='RET')而進入倉庫,並且當倉庫移出倉庫時它被出售(tranCode ='OUT')。每種類型的庫存都通過ArticleID進行識別。由於某個商品的購買,銷售或退貨,庫存內外的每次庫存移動都會導致一行被添加到庫存表中,由StockID標識列中的值唯一標識,並描述有多少項目被添加或刪除,購買價格,交易日期等。
雖然我正在使用這個在我正在進行的項目上,但我一直堅持如何在每次交易的OUT上獲得價格收費。我需要有這個價值來確定我會向客戶收取多少費用。
首先增加5個蘋果(各$ 10.00)的股票,共計$ 50.00
添加3個蘋果(各$ 20.00美元)的股票共有8個蘋果,爲$ 110.00總價
然後拿出6項(5每$ 10.00 1每$ 20.00美元)$總共70個
它將離開2個蘋果@每$ 20,總$ 40
012交易完成後
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」交易
您需要爲每個交易(In,Out,ret)賦予一個唯一的數字,以便您可以知道蘋果的數量和價格。基於此,您可以通過計算(數量*價格)計算總計有多少。 –
股票表中有一個主鍵。它只是我不想爲了簡單而顯示它,我也使用ItemID而不是蘋果。你不能僅僅通過計算(數量*價格)的價格孤單,記得我需要實現FIFO規則。 – samantha07