create table tb(单号 int,编码 varchar(10),数量 int)
insert tb select 1,'b',10
union all select 2,'a',20
union all select 3,'a',15
union all select 4,'b',12
union all select 5,'b',14
select *,(select sum(数量) from tb where 单号<=t.单号 and 编码=t.编码)as 余额 from tb t
--建立測試環境
Create Table 表一
(单号 Int,
编码 Varchar(10),
数量 Int)
--插入數據
Insert 表一 Select 1, 'b', 10
Union All Select 2, 'a', 20
Union All Select 3, 'a', 15
Union All Select 4, 'b', 12
Union All Select 5, 'b', 14
GO
--建立視圖
Create View List As
Select
*,
(Select SUM(数量) From 表一 Where 单号<=A.单号 And 编码=A.编码) As 余额
From 表一 A
GO
--測試
Select * From List
GO
--刪除測試環境
Drop Table 表一
Drop View List
--結果
/*
单号 编码 数量 余额
1 b 10 10
2 a 20 20
3 a 15 35
4 b 12 22
5 b 14 36
*/