gpt4 book ai didi

sql-server - 在查询中添加两行,但保留所有其他行

转载 作者:行者123 更新时间:2023-12-01 06:19:55 26 4
gpt4 key购买 nike

如果我有这样的查询

SELECT A, SUM(B)
FROM MyTable
WHERE ...
GROUP BY A

但是,我想在结果中求和 A 的两个值。所以假设 A 包含货币代码,例如:

'USD'
'USD big'
'EUR'
'GBP'
'JPY'
etc...

现在我想对每种货币的 SUM(B) 结果求和,除非 A"USD" “USD big”,然后我想将它们加在一起并将 “USB big” 行的结果乘以 100。

这在 SQL Server 中可能吗?

为了进一步解释,假设我当前的查询结果是:

A       | SUM(B)
------------
USD | 1000
USD big | 2
EUR | 50
GBP | 26
JPY | 5

我想改变我的查询,让它返回:

A       | SUM(B)
------------
USD | 1200 -- i.e. 1000 + 2*100
EUR | 50
GBP | 26
JPY | 5

1200USD 行的 1000 加上 2 的 100 倍>美元大行。

最佳答案

你可以使用这样的方法:

select
T.A, sum(T.B)
from
(
select
case when A = 'USD big' then 'USD' else A end as A,
case when A = 'USD big' then B * 100 else B end as B
from MyTable
where ...
) as T
group by T.A

关于sql-server - 在查询中添加两行,但保留所有其他行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30322285/

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