codice:
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 13
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 6
AND ROWNUM < 14
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 14
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 7
AND ROWNUM < 15
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 15
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 8
AND ROWNUM < 16
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 16
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 9
AND ROWNUM < 17
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 17
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 10
AND ROWNUM < 18
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 18
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 11
AND ROWNUM < 19
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 19
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 12
AND ROWNUM < 20
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 20
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 13
AND ROWNUM < 21
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 21
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 14
AND ROWNUM < 22
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 22
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 15
AND ROWNUM < 23
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 23
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 16
AND ROWNUM < 24
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 24
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 17
AND ROWNUM < 25
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 25
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 18
AND ROWNUM < 26
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 26
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 19
AND ROWNUM < 27
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 27
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 20
AND ROWNUM < 28
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 28
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 21
AND ROWNUM < 29
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 29
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 22
AND ROWNUM < 30
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
WHEN ROWNUM = 30
THEN (SELECT xx
FROM (SELECT ROUND
(AVG (CASE
WHEN ROWNUM > 23
AND ROWNUM < 31
THEN ripetuti
END
),
0
) AS xx
FROM totale.tot)
WHERE xx IS NOT NULL)
ELSE 0
END AS rolling
FROM totale.tot
Vorrei portare il tutto in una procedura che sicuramente non richiedera' tutto sto codice ma con due for credo si risolva. Purtroppo non sono in grado di generarla, e proprio per questo spero di trovare un anima pia che mi aiuti e mi illumini un pò. Come potete vedere il risultato che voglio gia' lo ottengo. Grazie a tutti ciao!