0

在庫の永久加重平均コストを計算したいと考えています。SQL での在庫平均原価計算のリンクの解決策を理解しようとしまし たが、取得できません。私にとっては複雑です。

これが私のデータベースの詳細です。

Purch_ID  Item_ID   QTY    Unit_Price   

 01         1       10       10               
 02         2       10       20               
 03         3       20       15              
 04         2       10       20               
 05         1       10       18              
 06         2       25       17      

次の式を使用して、各購入後の加重平均コストを計算したい

((old_stock x Old unit price)+(New_Purchase_qty x New unit price))/(old stock qty + new purchase qty)

何か提案はありますか?

4

1 に答える 1

2

私の理解が正しければ、累積平均価格が必要です。

このアプローチでは、サブクエリを使用して累積合計数量と累積支払額を計算します。比率は平均コストです。

select t.*, cumepaid / cumeqty as avg_cost
from (select t.*,
             (select SUM(qty) from t t2 where t2.item_id = t.item_id and t2.purch_id <= t.purch_id
             ) as cumeqty,
             (select SUM(qty*unit_price) from t t2 where t2.item_id = t.item_id and t2.purch_id <= t.purch_id
             ) as cumepaid
      from t
     ) t

SQL Server 2012 では、累積合計を直接計算することでこれを行うことができます (より効率的なはずです)。でこれを行うこともできますがcross apply、私は標準 SQL を好みます。

于 2013-02-06T22:43:33.483 に答える