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语句实现行转列的主要内容,如果未能解决你的问题,请参考以下文章

sql语句行转列 怎么转啊

重温SQL——行转列,列转行

SQL server 动态行转列

死磕:SQL行转列汇总(全网最全最详细)

SQL语句行转列

sql 行转列 列转行