oracle行转列函数的用法【我】

实际使用片段:

                            (SELECT to_char(wmsys.wm_concat(to_char(CTN.STATUS_CD)))
                             FROM CUST_TREE_NODE_PARTY_REL CTN
                            WHERE (SELECT PA.EXTPARTYID
                                     FROM PARTY PA
                                    WHERE PA.PARTY_ID = RES.PARTY_ID) =
                                  to_char(CTN.PARTY_ID)) AS CTN_STATUS_CD, 

分析:

              SELECT CTN.STATUS_CD
                             FROM CUST_TREE_NODE_PARTY_REL CTN
                            WHERE (SELECT PA.EXTPARTYID
                                     FROM PARTY PA
                                    WHERE PA.PARTY_ID = RES.PARTY_ID) =
                                  to_char(CTN.PARTY_ID)
这个的查询结果可能是多条记录,
比如:
1100
1200

也就是说,一个
EXTPARTYID 在
CUST_TREE_NODE_PARTY_REL 表中可能有多条记录的 PARTY_ID 与其相同,
现在要把查询到的多条记录拼成一条用逗号隔开。即要得到结果: 1100,1200
写成这个即可:
SELECT to_char(wmsys.wm_concat(to_char(CTN.STATUS_CD)))

 
原文地址:https://www.cnblogs.com/libin6505/p/12092906.html