Thursday, May 29, 2008

How to convert Column to Rows using SYS_CONNECT_BY_PATH

SELECT DEL_REFNO ID,MAX(LTRIM(SYS_CONNECT_BY_PATH(DEL_DELIVERY_NO,','),',')) RES FROM (SELECT DEL_REFNO,DEL_DELIVERY_NO, ROW_NUMBER() OVER(PARTITION BY DEL_REFNO ORDER BY DEL_DELIVERY_NO) RN FROM HTP_DELIVERY_DETAIL WHERE DEL_REFNO = :Z_SHIPMENT_NO) START WITH RN = 1 CONNECT BY PRIOR RN = RN -1 AND PRIOR DEL_REFNO = DEL_REFNO GROUP BY DEL_REFNO;