如何进行Oracle中pivot与unpivot之间的相互转换
如何进行Oracle中pivot与unpivot之间的相互转换,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都轻质隔墙板等,在成都网站建设、营销型网站、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
今天解答问题的总结
table:score(学号,语文,数学,英语,化学)
学号 | 语文 | 数学 | 英语 | 化学 |
1 | 及格 | 优秀 | 优秀 | 不及格 |
2 | 优秀 | 及格 | 及格 | 优秀 |
实现方法之一:
select * from (
with tt as (select * from score unpivot (cj for kc in ("语文","数学","英语","化学")))
select "学号",kc,
(case when cj>=80 then '优秀' when cj>=60 then '及格' else '不及格' end) cj
--decode(sign(cj-80),0,'优秀',1,'优秀',-1,decode(sign(cj-60),0,'及格',1,'及格','不及格')) cj
from tt)
pivot (max(cj) for kc in ('语文' 语文,'数学' 数学,'英语' 英语,'化学' 化学))
看完上述内容,你们掌握如何进行Oracle中pivot与unpivot之间的相互转换的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
文章名称:如何进行Oracle中pivot与unpivot之间的相互转换
新闻来源:http://scjbc.cn/article/jopgsj.html