Database sql使用另一个表计算多个记录
我这里有两张桌子。我想要的是计算(添加)这两个表中的金额和余额。但困难在于,交易表中的两个账号(A-102)是相同的。那么当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
交易时,如何将金额
添加到余额
我所做的是:
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。