1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| SELECT project_number,
actuals,
delta,
sumforecast,
nbmonths,
dateDebut,
dateFin,
SUM(COL_01) COL_1,
SUM(COL_02) COL_02,
SUM(COL_03) COL_03,
....
SUM(COL_40) COL_40
FROM (
SELECT temp.project_number,
temp.actuals,
temp.delta,
temp.sumforecast,
temp.nbmonths,
temp.beginning,
temp.end,
case when diff = 0 then temp.forecast else NULL end COL_01,
case when diff = 1 then temp.forecast else NULL end COL_02,
case when diff = 2 then temp.forecast else NULL end COL_03,
....
case when diff = 39 then temp.forecast else NULL end COL_40
FROM (SELECT maVue.*,
MONTHS_BETWEEN(TO_DATE(maVue.period,'MON-YYYY','NLS_DATE_LANGUAGE = AMERICAN'), maVue.dateDebut) diff
FROM maVue) temp)
GROUP BY project_number,
actuals,
delta,
sumforecast,
nbmonths,
dateDebut,
dateFin |
Partager