![](/img/trans.png)
[英]adding a value to a MYSQL SELECT statement, depending on the value of calculated field
[英]MySQL multiple sums in select statement depending on boolean value in different field
为什么这个查询没有给我正确的总数?
Select H.AccountNo,IF(G.Credit=0,SUM(F.Charge),NULL) AS Debits,IF(G.Credit=1,SUM(F.Charge),NULL) AS Credits
from transdetails F
left join transhead G on F.Transhead=G.Seqno
left join Accounts H on H.SeqNo=G.Account
Group by H.AccountNo
我正在尝试在单个行中列出其费用以及付款的帐户,费用和付款之间的唯一区别是Credits字段,该字段是1或0的布尔值
仍然没有提供正确的值,因为我知道帐户000223有付款,因此贷项不能为0
H.Accounts Debits Credits
000221 131.00 NULL
000222 287.70 NULL
000223 70980.20 NULL
000224 13280.42 NULL
试试这个
Select H.AccountNo,SUM(IF(G.Credit=0,F.Charge,0)) AS Debits,SUM(IF(G.Credit=1,F.Charge,0)) AS Credits
from transdetails F
left join transhead G on F.Transhead=G.Seqno
left join Accounts H on H.SeqNo=G.Account
Group by H.AccountNo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.