大家..我只是陷入这样的情况,我有两个如下表。第一个表是 tblCharge,第二个表是 tblPayment
chargeId Plan TotalAmount
1 A 400
2 B 200
3 C 300
PaymentId ChargeId PayAmount
1 1 100
2 1 50
3 1 70
4 1 120
5 1 10
6 2 50
7 2 70
我希望通过连接上面的两个表来输出如下所示的结果。应从每行的支付金额中减去总金额。
Plan Amount Pay
A 400 100
A 300 50
A 250 70
A 180 120
A 60 10
最佳答案
使用SUM OVER()
:
SELECT
c.ChargeId,
Amount = TotalAmount
- SUM(PayAmount) OVER(PARTITION BY c.[Plan] ORDER BY p.PaymentId)
+ PayAmount,
p.PayAmount
FROM tblCharge c
INNER JOIN tblPayment p
ON p.ChargeId = c.ChargeId
关于sql-server - 需要帮助从表创建分类帐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36170430/