私の理解が正しければ、累積平均価格が必要です。
このアプローチでは、サブクエリを使用して累積合計数量と累積支払額を計算します。比率は平均コストです:
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 の方が好きです。