SQL SUM GROUP BY по двум таблицам
У меня возникают трудности при написании SQL-запроса, который правильно группирует account_no и вычитает сумму.
Сначала я написал этот запрос, который обновляет все нормально, за исключением того, что ACCOUNT_NO A-102 должен закончиться как 4500, а не как два разных правильных баланса.
select transactions.account_no, account.balance, transactions.amount,
(account.balance + transactions.amount) AS "CORRECT BALANCE"
from transactions, account
where account.account_no = transactions.account_no;
ACCOUNT_NO| BALANCE | AMOUNT | CORRECTBALANCE
A-102 | 4000 | 2000 | 6000
A-102 | 4000 | -1500 | 2500
A-222 | 8000 | -1000 | 7000
A-305 | 2000 | 1300 | 3300
Я пытался суммировать и группировать по account_no, но я не могу понять, как это сделать с двумя таблицами. Это было просто то, что я пытался, но не мог добраться до работы.
select transactions.account_no, SUM(transactions.amount)
from transactions
group by transactions.account_no;
ACCOUNT_NO| SUM(TRANSACTIONS.AMOUNT)
A-305 | 1300
A-102 | 500
A-222 | -1000
Ожидаемый результат должен быть:
ACCOUNT_NO| BALANCE | AMOUNT | CORRECTBALANCE
A-102 | 4000 | 500 | 4500
A-222 | 8000 | -1000 | 7000
A-305 | 2000 | 1300 | 3300
Это связано с тем, что на счете A-102 у него есть две разные суммы, но с одного и того же баланса.