我有3个表,ChargeTable,PaymentTable,CustomerTable。
ChargeTable有CustomerID,ChargeAmt
PaymentTable有CustomerID,PaymentAmt
CustomerTable具有CustomerID,Balance
我需要通过CustomerID分隔它们,加上金额,然后从费用中减去付款以获得余额,最后将其发布到CustomerTable.Balance。
我是SQL的新手,已经花了几个小时摆弄这个,我可以得到一些工作,但从来没有整个节目。对于这个,任何人都有一个很好的解决方案吗?
答案 0 :(得分:0)
INSERT INTO CustomerTable (CustomerID, Balance)
SELECT a.CustomerID, SUM(a.Amount) FROM
(
SELECT ct.CustomerID, ct.ChargeAmt as Amount FROM ChargeTable ct
UNION ALL
SELECT pt.CustomerID, -pt.PaymentAmt as Amount FROM PaymentTable pt
) a
GROUP BY a.CustomerID