首页 > 数据库技术 > 详细

ORACLE 分组之后容易被忽略的bug

时间:2014-12-19 20:36:37      阅读:256      评论:0      收藏:0      [点我收藏+]

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 就可以了。

ORACLE 分组之后容易被忽略的bug

原文:http://www.cnblogs.com/yangleiWPF/p/4174618.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!