网站首页 > 文章中心 > 其它

oracle怎么转列函数

作者:小编 更新时间:2023-10-05 07:30:10 浏览量:295人看过

Oracle列转行,行转列

oracle下可以用函数decode处理:

select 产品名称,

sum(decode(季度,'第一季度',销售额,0)) 第一季度销售额,

sum(decode(季度,'第二季度',销售额,0)) 第二季度销售额,

sum(decode(季度,'第三季度',销售额,0)) 第三季度销售额,

sum(decode(季度,'第四季度',销售额,0)) 第四季度销售额,

from 表名

group by 产品名称;

oracle sql 中 如何实现table的行列转换?

你所谓的行列转换应该是指纵表转横表,横表转纵表.

给你个例子

纵表转横表:

使用DECODE语句,可以很方便的将纵表转为横表,例子如下:

原表查询结果:

ID MAJOR CURRENT_CREDITS

------ ---------------- ---------------

我们要把各科成绩从同一列转到不同的列中去.

SQL?select id,

sum(decode(major,'Computer Science',current_credits,0)) cs,

sum(decode(major,'History',current_credits,0)) his,

sum(decode(major,'Economics',current_credits,0)) eco

from students

group by id

ID CS HIS ECO

------ ----------- ------------- -----

横表转纵表:

使用 UNION 即可实现将横表转为纵表,以上面的表为例:

转换前:

SQL?select id, 'Computer Science' major,cs current_credits

union

select id, 'History' major,his current_credits

select id, 'Economics' major,eco current_credits

oracle行转列函数

需要oracle

server的返回结果集(就是table)的函数.

需要参考的oracle资料:

索引表,table函数,

pipelined.依次去网上搜索,会得到你要的答案.

如果再不行,我可以给你sample.

oracle查询行转列怎么写

推荐用WM_CONCAT函数

FROM TABLE_A

UNION ALL

GROUP BY A.STD

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章