大家帮忙看一下这个 SQL 应该如何实现

2021-11-25 22:33:49 +08:00
 deasty
,case when abc ='A' then sum(RMB) end as x
,case when abc ='B' then sum(RMB) end as y
其中字段 ABC 的值只有 A 或 B ,无其他值,现在的问题是如果 abc 的值全部都是 A 的情况下 y 的结果是空,现在期望 y 的结果是数字 0 ,该如何实现?
1048 次点击
所在节点    问与答
7 条回复
leonme
2021-11-25 23:20:48 +08:00
COALESCE(sum(RMB),0)
akira
2021-11-26 04:58:41 +08:00
我的话 会用 ifnull 之类的
netnr
2021-11-26 06:29:50 +08:00
end 换成 else 0 end
deasty
2021-11-26 06:47:42 +08:00
@leonme 这个试过了,没生效,不知道为啥。
leonme
2021-11-26 09:21:53 +08:00
@deasty MySQL or Oracle?
c6h6benzene
2021-11-26 09:24:49 +08:00
SUM(case when abc=‘b’ then RMB else 0 end)

这样?
cando
2021-11-26 09:36:27 +08:00
sum(if(abc='A',RMB,0)) as x,
sum(if(abc='B',RMB,0)) as y

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/818035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX