SQL语句实现行转列

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_41535326/article/details/89152081

最近在维护一个项目,出现了一下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)

截图效果如下地址:

猜你喜欢

转载自blog.csdn.net/weixin_41535326/article/details/89152081