ORACLE 分组之后容易被忽略的bug
COL_2 COL_3
21 31
23 31
如上表数据
前台显示显示需要把COL_2的21和23转换成中文 ‘整机’ 最开始如下编写
SELECT t.col_3,
CASE t.col_2
WHEN 21 THEN
‘整机’
WHEN 23 THEN
‘整机’
END
FROM a_test_1 t
GROUP BY t.col_3,t.col_2
得到的结果如下:
31 整机
31 整机
客户想看的其实是一条数据,则可以改为如下:
SELECT t.col_3,
CASE t.col_2
WHEN 21 THEN
‘整机‘
WHEN 23 THEN
‘整机‘
END
FROM a_test_1 t
WHERE t.col_3 = 31
GROUP BY t.col_3,
CASE t.col_2
WHEN 21 THEN
‘整机‘
WHEN 23 THEN
‘整机‘
END
把case语句放入group by 就可以了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。