Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 SQL Server-使用上一行值计算当前行值_Sql Server 2008 - Fatal编程技术网

Sql server 2008 SQL Server-使用上一行值计算当前行值

Sql server 2008 SQL Server-使用上一行值计算当前行值,sql-server-2008,Sql Server 2008,我有下表和使用SQLServer2008 Tbl_TRNSACTION RowNum Transaction Type InQty OutQty InPrice 1 IN 20 0 20 2 IN 50 0 40 3

我有下表和使用SQLServer2008

    Tbl_TRNSACTION

 RowNum    Transaction Type        InQty     OutQty     InPrice
    1              IN               20          0           20
    2              IN               50          0           40
    3              OUT              0           10          - 
    4              IN               10          0           30
我希望输出的格式如下

如果TransType在中

然后将(InQty*InPrice)添加到CumulativeStockVal中

股票价格=(累计库存价值/余额)

如果交易类型为OUT

然后从CumulativeStockVal中减去(OutQty*previous(StockRate))

RowNum   TransType InQty   OutQty  Balance  CumulatveStockVal  StockRate

  1        IN      20       0       20      400                20
  2        IN      50       0       70      2400               34.285
  3        OUT     0        10      60      2057.15            34.285
  4        IN      10       0       70      2357.15            33.673

请回复。谢谢。

尝试将窗口偏移函数与聚合函数结合使用

编辑:我发现你有一个图坦卡蒙,它显示得非常清楚,从第15分钟开始观看


你试过什么吗?有什么问题吗?这些值是如何计算的?这些小数是从哪里来的?要求人们为您编写代码而不付出任何努力是不好的。让他们猜你到底想要什么并不十分礼貌。请公布你到目前为止为得到这个结果所做的努力。在
Tbl\u交易
中是否有其他列?表本质上是无序的,所以如果您想谈论“上一行”,我们现在需要了解如何定义它——通常是通过使用一个或多个列来定义顺序。这里没有明显的候选人。信息不足,最终每个专栏都相互依赖。修改你的问题。其次,你使用的是哪个版本。