1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| SELECT code, lib, RTRIM(desc0 ||' && '|| desc1||' && '|| desc2||' && '|| desc3||' && '|| desc4||' && '|| desc5||' && '|| desc6||' && '
|| desc7||' && '|| desc8 ||' && '|| desc9,' &') description
FROM(
SELECT code, lib,
row_number() OVER (PARTITION BY code, lib ORDER BY ind) AS num,
description desc0,
lead(description, 1) OVER (PARTITION BY code, lib ORDER BY ind) AS desc1,
lead(description, 2) OVER (PARTITION BY code, lib ORDER BY ind) AS desc2,
lead(description, 3) OVER (PARTITION BY code, lib ORDER BY ind) AS desc3,
lead(description, 4) OVER (PARTITION BY code, lib ORDER BY ind) AS desc4,
lead(description, 5) OVER (PARTITION BY code, lib ORDER BY ind) AS desc5,
lead(description, 6) OVER (PARTITION BY code, lib ORDER BY ind) AS desc6,
lead(description, 7) OVER (PARTITION BY code, lib ORDER BY ind) AS desc7,
lead(description, 7) OVER (PARTITION BY code, lib ORDER BY ind) AS desc8,
lead(description, 7) OVER (PARTITION BY code, lib ORDER BY ind) AS desc9
FROM (
SELECT code, ind, lib, valeur || cle || ope || mini ||' '|| maxi AS description
FROM (SELECT 1 code, 20 valeur, ' PTS' cle, 1 ind, ' a partir de ' ope, 20 mini, 39 maxi, 'achat' lib FROM dual
UNION ALL
SELECT 1 code, 30 valeur, ' PTS' cle, 2 ind, ' a partir de ' ope, 40 mini, 49 maxi, 'achat' lib FROM dual)
)
)
WHERE num = 1 |