1. 程式人生 > >SQL語句實現行轉列

SQL語句實現行轉列

within sel 11g wm_concat 進行 com 10g 本地測試 from

最近在維護一個項目,出現了一下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語句實現行轉列