求列转行sql

有庙无僧风扫地 java菜鸟  2013-08-06 11:24:16
表的结构
表头 kpi_id dev_id value g_group
020102 sb1 192.186.1.1 2
020101 sb1 80 2
020102 sb1 192.186.1.2 1
020101 sb1 8080 1


需要展现的数据是
物理端口 IP地址
80 192.186.1.1
8080 192.186.1.2

原sql:
SELECT SUM(DECODE(T.KPI_NAME, '物理端口', nvl(S.VALUE, 0))) AS "020101",
SUM(DECODE(T.KPI_NAME, 'IP地址', nvl(S.VALUE, 0))) AS "020102",
S.G_GROUP as KPI_GROUPS
FROM S_DEVICEKPI S, S_KPIMSG T
WHERE S.KPI_ID = T.KPI_ID
AND S.DEV_ID = 'sb1'
GROUP BY S.G_GROUP
但是因为value 是字符串sum不能用 ,求大神没出招
...全文
130 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
糖果茜茜 2013-08-07
引用 3 楼 bb22110 的回复:
为什么 max可以sum不行了?
这两个都是可以列转行的,区别就是类型方面,sum的类型不能为字符型,只能为数值型。
回复
为什么 max可以sum不行了?
回复
sych888 2013-08-06
直接的用TO_NUM转成数字?
回复
hh7yx 2013-08-06
sum不能用,就用max嘛
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-08-06 11:24
社区公告
暂无公告