gpt4 book ai didi

mysql - 如果可用,添加列

转载 作者:行者123 更新时间:2023-11-29 00:19:00 26 4
gpt4 key购买 nike

这里我有2张 table 第一个表由 10 行 acnumber 列和 10 行 opening_balance 列组成。第二张表由一列中的 3 个 acnumber 组成,这些 acnumber 已经进行了多次交易在 transaction_type 列中提到为 'Deposit' 或 'Withdrawal' 和 transaction_amount 列。

所以我必须选择所有帐户及其存款,即期初余额+存款。如果表 2 中没有可用交易,则添加期初余额和 0。我试过类似的方法

select a1.acnumber,a1.opening_balance+if (a1.acnumber not in (a2.acnumber),0,sum(a2.transaction_amount))
from account a1 left join trandetails a2
on a1.acnumber=a2.acnumber
where a2.transaction_type like'Deposit'
group by a2.acnumber;

但它只返回两个表中提到的帐号。有什么建议吗???

最佳答案

您需要对查询进行几处更改。例如,where 正在撤消 left outer join。您应该将该条件移至 on 子句。此外,group by 列应该是 select 中不在聚合函数中的列。

所以,试试这个

select a1.acnumber, a1.opening_balance + coalesce(sum(a2.transaction_amount), 0)
from account a1 left join
trandetails a2
on a1.acnumber = a2.acnumber and
a2.transaction_type like 'Deposit'
group by a1.acnumber, a1.opening_balance;

关于mysql - 如果可用,添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21814875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com