oracle查询行转列函数_行转列 oracle

oracle查询行转列函数_行转列 oracleoracle行转列。

Oracle查询如何才能行转列?-sunziren

  原创文章,转载务必注明出处。


  今天工作的时候,碰到一个问题,涉及oracle行转列,用了半小时解决,因此在这里写个博客记录一下解决办法。

  原数据库表的数据是:

  oracle查询行转列函数_行转列 oracle

   想要达到的效果是:

  oracle查询行转列函数_行转列 oracle

   经过思考,这是一个oracle行转列的操作,根据xn,qxdm,nj这三列值来分组查询所有的数据,把xn,qxdm,nj三列相同的数据看为一行。

  在百度上找了半小时sql,自己又调试了半个小时,终于把这个效果实现了,sql如下:

 1 select * from (select xn,qxdm,nj,xk,gxsj,cbbb from test) t pivot(
 2     max(t.cbbb) for xk in (
 3         "道德与法制" as 道德与法制,
 4         "语文" as 语文,
 5         "数学" as 数学,
 6         "音乐" as 音乐,
 7         "美术" as 美术,
 8         "科学" as 科学,
 9         "英语" as 英语,
10         "书法" as 书法,
11         "信息技术" as 信息技术
12     ) ) where 1=1

代码100分

  核心是利用了oracle的pivot函数,问题至此解决,写下次过程以便他人参考。


  原创文章,转载务必注明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10224.html

(0)
上一篇 2023-01-23
下一篇 2023-01-23

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注