当前位置: 代码迷 >> Oracle开发 >> ORACLE 竖表转横表的有关问题
  详细解决方案

ORACLE 竖表转横表的有关问题

热度:117   发布时间:2016-04-24 08:03:01.0
ORACLE 竖表转横表的问题
表结构与信息如下:
CREATE TABLE TB_ITEM_INFO(
 item_name varchar2(20),
 item_data number(10,4),
 constraint PK_ITEM_INFO primary key (item_name)
);

item_name(primary_key) item_data
  value1 1.0
  value2 2.0
  value3 3.0

欲转为:
 value1 value2 value3
  1.0 2.0 3.0

在网上看了用decode函数的都是要有基准进行分组的,而这种转化没有基准,如果用decode函数结果就是
value1 value2 value3
  1.0 0 0
  0 2.0 0
  0 0 3.0

望高手能给个完整的转换sql脚本,感谢~


------解决方案--------------------
SQL code
--上面有误,这个with TB_ITEM_INFO as(  select 'value1' item_name, 1.0 item_data from dual union all  select 'value2' item_name, 2.0 item_data from dual union all  select 'value3' item_name, 3.0 item_data from dual)SELECT SUM(decode(item_name, 'value1', item_data, 0)) value1,       SUM(decode(item_name, 'value2', item_data, 0)) value2,       SUM(decode(item_name, 'value3', item_data, 0)) value3  FROM TB_ITEM_INFO;
  相关解决方案