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

网友投稿 268 2023-12-14

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

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

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:开放银行生态产业是什么?
下一篇:Oracle表怎样移动表空间
相关文章

 发表评论

暂时没有评论,来抢沙发吧~