Select
A.*,
(Select SUM(输入金额 - 输出金额) From T_A Where 时间 <= A.时间) As 累计金额,
DateDiff(dd, 时间, IsNull((Select TOP 1 时间 From T_A Where 时间 > A.时间 Order By 时间), GetDate())) As 天数
From
T_A A
A.*,
(Select SUM(输入金额 - 输出金额) From T_A Where 时间 <= A.时间) As 累计金额,
DateDiff(dd, 时间, IsNull((Select TOP 1 时间 From T_A Where 时间 > A.时间 Order By 时间), GetDate())) As 天数
From
T_A A
(编号 Int,
时间 Varchar(10),
输入金额 Int,
输出金额 Int)
Insert T_A Select 1, '2007-3-1', 30, 0
Union All Select 2, '2007-3-15', 0, 40
Union All Select 3, '2007-3-20', 150, 0
GO
Select
时间,
输入金额,
输出金额,
(Select SUM(输入金额 - 输出金额) From T_A Where 时间 <= A.时间) As 累计金额,
DateDiff(dd, 时间, IsNull((Select TOP 1 时间 From T_A Where 时间 > A.时间 Order By 时间), GetDate())) As 天数
From
T_A A
GO
Drop Table T_A
--Result
/*
时间 输入金额 输出金额 累计金额 天数
2007-3-1 30 0 30 14
2007-3-15 0 40 -10 5
2007-3-20 150 0 140 11
*/
时间,
输入金额,
输出金额,
(Select SUM(输入金额 - 输出金额) From T_A Where 时间 <= A.时间) As 累计金额,
DateDiff(dd, 时间, IsNull((Select TOP 1 时间 From T_A Where 时间 > A.时间 Order By 时间), GetDate())) As 天数
From
T_A A
Order By 时间
(编号 Int,
时间 Varchar(10),
输入金额 Int,
输出金额 Int)
Insert T_A Select 1, '2007-3-1', 30, 0
Union All Select 2, '2007-3-15', 0, 40
Union All Select 3, '2007-3-20', 150, 0
Union All Select 4, '2007-3-17', 150, 0
GO
Select
时间,
输入金额,
输出金额,
(Select SUM(输入金额 - 输出金额) From T_A Where 时间 <= A.时间) As 累计金额,
DateDiff(dd, 时间, IsNull((Select TOP 1 时间 From T_A Where 时间 > A.时间 Order By 时间), GetDate())) As 天数
From
T_A A
Order By 时间
GO
Drop Table T_A
--Result
/*
时间 输入金额 输出金额 累计金额 天数
2007-3-1 30 0 30 14
2007-3-15 0 40 -10 2
2007-3-17 150 0 140 3
2007-3-20 150 0 290 11
*/