gpt4 book ai didi

mysql - 列 'PostedVoucher.stat_flag' 在选择列表中无效,因为它未包含在聚合函数或 GROUP BY 子句中

转载 作者:行者123 更新时间:2023-11-29 22:48:51 25 4
gpt4 key购买 nike

大家好,我正在尝试选择帐户名称(stat_leger),从 stat_leger 列中选择总借方,其中 stat_flag 列 = d ,从 stat_leger 中选择总贷方,其中 stat_flag 列 = c 并按 stat_leger 分组,我需要像这样的 ruturn 列

Account Name(stat_leger) |  total debit |  total credit 
| |
acc1 | 20 | 0.00
acc2 | 30 | 15
acc3 | 40 | 20

我试过了

select DISTINCT stat_leger , sum(stat_amount) as deb  
from PostedVoucher
where branch='1' and stat_flag ='c' group by stat_leger

union

select DISTINCT stat_leger , sum(stat_amount) as cred
from PostedVoucher
where branch='1' and stat_flag ='d' group by stat_leger

但它会返回同一列 deb 中的总借方和贷方,如下所示

Account Name(stat_leger) |     deb 
acc1 | 0.00
acc1 | 20
acc2 | 15
acc2 | 30
acc3 | 40
acc3 | 20

当我尝试时

 select  stat_leger ,
( select sum(stat_amount) as deb where stat_flag ='c' )
from PostedVoucher
where branch='1' group by (stat_leger);

但它返回错误列“PostedVoucher.stat_flag”在选择列表中无效,因为它未包含在聚合函数或 GROUP BY 子句中。

最佳答案

我认为没有必要使用子查询。您可以在主 WHERE 子句中添加 where 条件。检查以下查询:

试试这个:

SELECT stat_leger, SUM(stat_amount)
FROM PostedVoucher
WHERE branch='1' AND stat_flag ='c'
GROUP BY (stat_leger);

关于mysql - 列 'PostedVoucher.stat_flag' 在选择列表中无效,因为它未包含在聚合函数或 GROUP BY 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28979903/

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