Sql 如何将一列的第一条记录与另一列的第二条记录相加?
我尝试将一列的第二条记录与另一列的第一条记录求和,并将结果存储在新列中 下面是SQL Server表的示例Sql 如何将一列的第一条记录与另一列的第二条记录相加?,sql,sql-server,Sql,Sql Server,我尝试将一列的第二条记录与另一列的第一条记录求和,并将结果存储在新列中 下面是SQL Server表的示例 Emp_Code Emp_Name Month Opening_Balance G101 Sam 1 1000 G102 James 2 -2500 G103 David
Emp_Code Emp_Name Month Opening_Balance
G101 Sam 1 1000
G102 James 2 -2500
G103 David 3 3000
G104 Paul 4 1800
G105 Tom 5 -1500
我试图在新的Reserve列中获得如下输出
实际上,计算保留列的规则是
第一个月与期初余额相同
其余月份的第二个月准备金=第一个月准备金+第二个月期初余额
你似乎想要一个累积的总数。在SQL Server 2012+中,您将执行以下操作:
select t.*,
sum(opening_balance) over (order by [Month]) as Reserve
from t;
在早期版本中,可以使用相关子查询或应用:
你似乎想要一个累积的总数。在SQL Server 2012+中,您将执行以下操作:
select t.*,
sum(opening_balance) over (order by [Month]) as Reserve
from t;
在早期版本中,可以使用相关子查询或应用:
您可以进行自连接
SELECT t.Emp_Code, t.Emp_Name, t.Month, t.Opening_Balance, t.Opening_Balance + n.Reserve
FROM Table1 t
JOIN Table2 n
ON t.Month = n.Month - 1
您可以进行自连接
SELECT t.Emp_Code, t.Emp_Name, t.Month, t.Opening_Balance, t.Opening_Balance + n.Reserve
FROM Table1 t
JOIN Table2 n
ON t.Month = n.Month - 1
请使用SQL Server版本标记您的问题。可能的重复请使用SQL Server版本标记您的问题。可能的重复