如何进行Oracle中pivot与unpivot之间的相互转换

发布时间:2021-11-30 09:29:28 作者:柒染
来源:亿速云 阅读:126

如何进行Oracle中pivot与unpivot之间的相互转换,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

今天解答问题的总结

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之间的相互转换的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. pivot和unpivot函数
  2. oracle pivot 和 unpivot 函数的使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle pivot unpivot

上一篇:Linux内核权限提升漏洞怎么修复

下一篇:C/C++ Qt TreeWidget单层树形组件怎么应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》