To convert rows to columns

WITH n(rownum, chain) AS
(
SELECT rownum, PROCESS_DATE
FROM (SELECT row_number() over (), CAST(PROCESS_DATE AS VARCHAR(10000)) FROM PROCESS ) AS t(rownum, PROCESS_DATE)
WHERE T.rownum = 1
UNION ALL
SELECT t1.rownum, n.chain ':' t1.PROCESS_DATE
FROM (SELECT row_number() over (), CAST(PROCESS_DATE AS VARCHAR(10000)) FROM PROCESS ) AS t1(rownum, PROCESS_DATE), n
WHERE n.rownum + 1 = t1.rownum
)
SELECT chain FROM n x, (select max(rownum) maxrow from n) y where x.rownum = y.maxrow

No comments: