gpt4 book ai didi

SQL:根据另一列中的值将金额转换并计算为负数

转载 作者:行者123 更新时间:2023-12-02 03:18:53 26 4
gpt4 key购买 nike

我正在尝试编写一个脚本来返回每个公司的 chk_amount 总计和总计。我遇到的问题是,如果支票无效,则将其作为贷记金额退还,如果不按原样退还。 chk_amount 中的所有值都是正数。

我收到一条错误消息,指出 void 在选择列表中无效,因为它既未包含在聚合函数中,也未包含在 GROUP BY 子句中。有什么建议么?我只希望输出中的公司名称和金额。

这是代码;

SELECT company_name = CASE GROUPING(company_name) WHEN 1 THEN 'Total' ELSE company_name END,
CASE WHEN void = 'Y'
THEN FORMAT(sum(chk_amount * (-1)), 'C', 'en-us')
ELSE FORMAT(sum(chk_amount), 'C', 'en-us')
END AS amount
from payments

INNER JOIN company_list on payments.company_no = company_list.company_id

where CONVERT( varchar(10),date_last_modified,101) = '1/13/2016'

Group by ROLLUP(company_name)

提前致谢!

最佳答案

您将需要通过这种方式将 void 添加到 group by -> Group by ROLLUP(company_name, void)

关于SQL:根据另一列中的值将金额转换并计算为负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34796800/

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