Sql 要创建具有动态值的视图吗

Sql 要创建具有动态值的视图吗,sql,views,Sql,Views,我有一张桌子 rno intial consumed bal 1 500 120 380 2 0 100 -100 3 0 80 -80 我得到的值如上所述,但我需要的值如下 我有初始设置值500,我想从中扣除消耗值,并应显示前一个余额,如380,应显示在下一行的初始余额,请帮助我,因为我在创建此视图时在这里遇到了障碍,但我已成功创建此过程,但我只需要查看 rno intial consumed

我有一张桌子

rno  intial  consumed  bal
1    500     120       380
2    0       100       -100
3    0       80        -80
我得到的值如上所述,但我需要的值如下 我有初始设置值500,我想从中扣除消耗值,并应显示前一个余额,如380,应显示在下一行的初始余额,请帮助我,因为我在创建此视图时在这里遇到了障碍,但我已成功创建此过程,但我只需要查看

rno  intial  consumed  bal
1    500     120       380
2    380     100       280
3    280      80       200

您没有提到哪个RDBMS,但这似乎为您提供了在SQL Server(可能还有其他RDBMS)视图中查找的运行总数


您没有提到哪个RDBMS,但这似乎为您提供了在SQL Server(可能还有其他RDBMS)视图中查找的运行总数


在我看来,你需要跑步总。。。。检查这个问题或google SQL running total您使用的是哪种RDBMS?在我看来,您需要运行total。。。。检查这个问题或者google SQL运行TotalWhat RDBMS你在使用哪个RDBMS?哦,非常感谢,我正在尝试在我的查询中实现这个,我对此非常高兴,非常感谢,我认为你是一位伟大的专家。我将非常感谢你,非常感谢,我正在尝试在我的查询中实现这个,我非常高兴,非常感谢,我认为你很棒专家..我会非常感谢你的
SELECT * INTO Test FROM (VALUES
(1, 500, 120),
(2, 0, 100),
(3, 0, 80)) A(rno,initial,consumed);


GO    
CREATE VIEW SomeView AS    
WITH A AS(
  SELECT rno
    ,initial
    ,consumed
    ,SUM(initial - consumed) OVER (ORDER BY rno ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bal
  FROM Test)
SELECT 
    rno
    ,COALESCE(LAG(bal) OVER (ORDER BY rno), initial) initial
    ,consumed
    ,bal
FROM A;
GO

SELECT * FROM SomeView ORDER BY rno

rno         initial     consumed    bal
----------- ----------- ----------- -----------
1           500         120         380
2           380         100         280
3           280         80          200