gpt4 book ai didi

sql-server-2008 - 添加由 GROUP BY 子句产生的列

转载 作者:行者123 更新时间:2023-12-04 07:10:29 26 4
gpt4 key购买 nike

我陷入了使用 GROUP BY 后需要从两行添加列的场景中。
我的查询如下:

select AcctId,DC,sum(TrnAmt) from TableId
group by AcctId,DC
order by AcctId,DC

结果:-
VcrAcctId      DrCr  SumTranAmt
51 C 37469
51 D 37000

我的预期结果是:
VcrAcctId      Actual
51 37469-37000

我怎样才能在同一个查询中得到我的预期结果?

最佳答案

根据评论中的讨论,我认为您需要

SELECT AcctId,
Sum(CASE DC
WHEN 'C' THEN TrnAmt
WHEN 'D' THEN -TrnAmt
ELSE 0
END) AS DC
FROM TableId
GROUP BY AcctId
ORDER BY AcctId

如果实际上您确实希望将贷方和借方分开,则可以使用
SELECT AcctId,
Sum(CASE
WHEN DC = 'C' THEN TrnAmt
ELSE 0
END) AS C,
Sum(CASE
WHEN DC = 'D' THEN TrnAmt
ELSE 0
END) AS D
FROM TableId
GROUP BY AcctId
ORDER BY AcctId

你可以投 SUM表达到 varchar并将它们连接起来以获得问题中显示的结果,如果这是实际需要的。

关于sql-server-2008 - 添加由 GROUP BY 子句产生的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13892128/

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