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)))

 
posted @ 2019-12-24 18:10  戈博折刀  阅读(989)  评论(0编辑  收藏  举报