189 8069 5689

oracle怎么转列函数,oracle列转行函数怎么用

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

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

10000 Computer Science 98

10000 History 88

10001 Computer Science 75

10000 Economics 66

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

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

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

10000 98 88 66

10001 75

横表转纵表:

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

转换前:

ID CS HIS ECO

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

10000 98 88 66

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

from students

union

select id, ’History’ major,his current_credits

from students

union

select id, ’Economics’ major,eco current_credits

from students

ID MAJOR CURRENT_CREDITS

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

10000 Computer Science 98

10000 History 88

10000 Economics 66

oracle行转列函数

需要oracle

8i以上的版本,可以实现类似sql

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

需要参考的oracle资料:

索引表,table函数,

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

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

oracle查询行转列怎么写

推荐用WM_CONCAT函数

SELECT A.STD, WM_CONCAT(A.F3) NEW_RESUL

FROM (SELECT STD, F3

FROM (SELECT STD, F1 F3

FROM TABLE_A

UNION ALL

SELECT STD, F2 F3 FROM TABLE_A) A) A

GROUP BY A.STD


当前文章:oracle怎么转列函数,oracle列转行函数怎么用
标题URL:http://jkwzsj.com/article/hedchp.html

其他资讯