1

平均株価を計算したいのですが 、SQLで次のソリューションの在庫平均コスト計算を取得しました

このクエリはまさに私が必要としているものなので、見事に見えます

しかし、私はSQL Server2008を使用しています。このクエリのSQLServerのバージョンは何になりますか?

計算式は((old_stock x旧単価)+(New_Purchase_qty x新単価))/(旧在庫数量+新規購入数量)レコードは

TrancDate   ProID   Qty CostRate    TrancType  closingStock    closingCostRate
02/06/2013  1   10.000  2.00               P             10                2
02/08/2013  1   7.000   0.00               S             3                 2
02/15/2013  1   15.000  3.00               P             18                2.83
02/16/2013  1   8.000   0.00               S             10                2.83
02/25/2013  1   20.000  4.00               P             30                3.61 
02/26/2013  1   9.000   0.00               S             21                3.61
02/26/2013  1   1.000   0.00               S             20                3.61
4

1 に答える 1

0

計算が私が思うものである場合:

select t.*, cumetot / cumeqty
from (select t.*,
             (select SUM(qty)
              from t t2
              where t2.tranctype = 'P' and t2.proid = t.proid and t2.trancdate <= t.trancdate
             ) as cumeqty,
             (select SUM(qty*ClosingCostRate)
              from t t2
              where t2.TrancType = 'P' and t2.proid = t.proid and t2.trancdate <= t.trancdate
             ) as cumetot
      from t
     ) t

SQL Server 2012には累積合計とカウントがありますが、2008にはありません。

于 2013-02-08T19:19:12.387 に答える