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