SQL语句实现行转列
Posted eagle-lin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句实现行转列相关的知识,希望对你有一定的参考价值。
最近在维护一个项目,出现了一下bug需要进行调试,于是把正式库上面的代码搬到本地库上面,数据库是本地的,跑项目的时候调试发现代码里面带有wmsys.wm_concat函数的SQL语句出现错误,经排查发现本地测试库用的是oracle 11g版本,比正式库上的版本高,解决方式这分享给大家:
wmsys.wm_concat是oracle 10g推出的,用来连接字符串,LISTAGG是oracle 11g推出的,它的作用和wmsys.wm_concat是一样的。
select listagg(p.id_card,‘,‘) within group(order by p.PERSON_ID) PERSON_IDCARDS from cbms_lib_person p where p.person_id in (136565,158756,158762,158761,149569,153512,89376,70196)
截图效果如下地址:
![](https://img2018.cnblogs.com/blog/1311553/201811/1311553-20181108102531176-1161827259.png)
以上是关于SQL语句实现行转列的主要内容,如果未能解决你的问题,请参考以下文章