日期:2014-05-18  浏览次数:20485 次

如何计算值的累加
我现在我有一张表   公司名称,发生额,记录公司每笔收付款的情况,
公司名称       发生额外
A                       200        
A                       300        
A                         -50      
A                         -100
.....      
还有一张表记公司的初始金额
公司名称         初始值
A                         1000

现在需要得到这样的结果
公司名称       发生额       余额
A                     200               1200
A                     300               1500
A                     -50               1450
A                     -100             1350

请问SQl语句应该如何写

------解决方案--------------------
需要借用臨時表來排序

Select ID = Identity(Int, 1, 1), * Into #T From 表1

Select A.公司名称, A.发生额, (Select SUM(发生额) From #T Where 公司名称 = A.公司名称 And ID <= A.ID) + B.初始值 As 余额
From #T A Inner Join 表2 B
On A.公司名称 = B.公司名称

Drop Table #T
------解决方案--------------------
你这两张表没有其他字段了,有ID吗?
------解决方案--------------------
偶都用自连接的办法...5555555555555
超慢...不知道大家有什么好办法么
------解决方案--------------------
没有主键么