Database sql使用另一个表计算多个记录

Database sql使用另一个表计算多个记录,database,oracle,relational-database,calculated-columns,Database,Oracle,Relational Database,Calculated Columns,我这里有两张桌子。我想要的是计算(添加)这两个表中的金额和余额。但困难在于,交易表中的两个账号(A-102)是相同的。那么当交易时,如何将金额添加到余额 我所做的是: select account_no, balance + ( select t.amount from transactions t whe

我这里有两张桌子。我想要的是计算(添加)这两个表中的金额和余额。但困难在于,交易表中的两个账号(A-102)是相同的。那么当
交易时,如何将
金额
添加到
余额

我所做的是:

    select account_no, balance + (
                              select t.amount
                              from transactions t
                              where t.account_no = 'A-222')
    from b_account 

    where account_no = 'A-222';
此方法仅适用于A-305和A-222。 如果我这样写,就行不通了

select account_no, balance + (
                              select t.amount
                              from transactions t
                              where t.account_no = (
                                                    select t.account_no 
                                                    from b_account ba, transactions t
                                                    where ba.account_no = t.account_no
                                                    )      
                              )
from b_account 
where account_no = (select t.account_no 
                    from b_account ba, transactions t
                    where ba.account_no = t.account_no);

任何帮助都要提前感谢

您可以
按账号对
进行分组,并
合计
所有金额,然后将结果加入到账户表中。试试这个

with cte as
(
 select account_no, SUM(t.amount) amount
 from transactions t
 --where t.account_no = 'A-222'
 group by account_no
)

Select a.account_no, balance + coalesce(b.amount,0) new_balance
from b_account a
left outer join cte b on a.account_no = b.account_no
--where a.account_no = 'A-222'

哇,它肯定能用。非常感谢..但它只输出
A-102
A-222
A-305
这三个
帐户号
,如果我还需要
帐户
表中的其他记录呢@rs.@Sunny,检查我的更新答案,将内部连接更改为左侧外部连接,并确保在将余额添加到amounty时检查amount是否为null,它完全工作正常..非常感谢..我必须做一些研究。这对我来说是件新鲜事。lol@rs。