SELECT M11.Month1, M11.Month2, M11.Month3, M11.Month4, M11.Month5, M11.Month6, M11.Month7, M11.Month8, M11.Month9, M11.Month10, M11.Month11, ((M11.Month11 + C1M12.SC1M12) - C2M12.SC2M12) AS Month12 FROM
(
SELECT M10.Month1, M10.Month2, M10.Month3, M10.Month4, M10.Month5, M10.Month6, M10.Month7, M10.Month8, M10.Month9, M10.Month10, ((M10.Month10 + C1M11.SC1M11) - C2M11.SC2M11) AS Month11 FROM
(
SELECT M9.Month1, M9.Month2, M9.Month3, M9.Month4, M9.Month5, M9.Month6, M9.Month7, M9.Month8, M9.Month9, ((M9.Month9 + C1M10.SC1M10) - C2M10.SC2M10) AS Month10 FROM
(
SELECT M8.Month1, M8.Month2, M8.Month3, M8.Month4, M8.Month5, M8.Month6, M8.Month7, M8.Month8, ((M8.Month8 + C1M9.SC1M9) - C2M9.SC2M9) AS Month9 FROM
(
SELECT M7.Month1, M7.Month2, M7.Month3, M7.Month4, M7.Month5, M7.Month6, M7.Month7, ((M7.Month7 + C1M8.SC1M8) - C2M8.SC2M8) AS Month8 FROM
(
SELECT M6.Month1, M6.Month2, M6.Month3, M6.Month4, M6.Month5, M6.Month6, ((M6.Month6 + C1M7.SC1M7) - C2M7.SC2M7) AS Month7 FROM
(
SELECT M5.Month1, M5.Month2, M5.Month3, M5.Month4, M5.Month5, ((M5.Month5 + C1M6.SC1M6) - C2M6.SC2M6) AS Month6 FROM
(
SELECT M4.Month1, M4.Month2, M4.Month3, M4.Month4, ((M4.Month4 + C1M5.SC1M5) - C2M5.SC2M5) AS Month5 FROM
(
SELECT M3.Month1, M3.Month2, M3.Month3, ((M3.Month3 + C1M4.SC1M4) - C2M4.SC2M4) AS Month4 FROM
(
SELECT M2.Month1, M2.Month2, ((M2.Month2 + C1M3.SC1M3) - C2M3.SC2M3) AS Month3 FROM
(
SELECT M1.Month1, ((M1.Month1 + C1M2.SC1M2) - C2M2.SC2M2) AS Month2 FROM
(
SELECT C1M1.SC1M1 - C2M1.SC2M1 AS Month1 FROM
(SELECT Sum(Month1) AS SC1M1 FROM flows WHERE Category = 0 or Category = 1) AS C1M1,
(SELECT Sum(Month1) AS SC2M1 FROM flows WHERE Category = 2) AS C2M1
) AS M1,
(SELECT SUM(Month2) AS SC1M2 FROM flows WHERE Category = 1) AS C1M2,
(SELECT Sum(Month2) AS SC2M2 FROM flows WHERE Category = 2) AS C2M2
) AS M2,
(SELECT SUM(Month3) AS SC1M3 FROM flows WHERE Category = 1) AS C1M3,
(SELECT Sum(Month3) AS SC2M3 FROM flows WHERE Category = 2) AS C2M3
) AS M3,
(SELECT SUM(Month4) AS SC1M4 FROM flows WHERE Category = 1) AS C1M4,
(SELECT Sum(Month4) AS SC2M4 FROM flows WHERE Category = 2) AS C2M4
) AS M4,
(SELECT SUM(Month5) AS SC1M5 FROM flows WHERE Category = 1) AS C1M5,
(SELECT Sum(Month5) AS SC2M5 FROM flows WHERE Category = 2) AS C2M5
) AS M5,
(SELECT SUM(Month6) AS SC1M6 FROM flows WHERE Category = 1) AS C1M6,
(SELECT Sum(Month6) AS SC2M6 FROM flows WHERE Category = 2) AS C2M6
) AS M6,
(SELECT SUM(Month7) AS SC1M7 FROM flows WHERE Category = 1) AS C1M7,
(SELECT Sum(Month7) AS SC2M7 FROM flows WHERE Category = 2) AS C2M7
) AS M7,
(SELECT SUM(Month8) AS SC1M8 FROM flows WHERE Category = 1) AS C1M8,
(SELECT Sum(Month8) AS SC2M8 FROM flows WHERE Category = 2) AS C2M8
) AS M8,
(SELECT SUM(Month9) AS SC1M9 FROM flows WHERE Category = 1) AS C1M9,
(SELECT Sum(Month9) AS SC2M9 FROM flows WHERE Category = 2) AS C2M9
) AS M9,
(SELECT SUM(Month10) AS SC1M10 FROM flows WHERE Category = 1) AS C1M10,
(SELECT Sum(Month10) AS SC2M10 FROM flows WHERE Category = 2) AS C2M10
) AS M10,
(SELECT SUM(Month11) AS SC1M11 FROM flows WHERE Category = 1) AS C1M11,
(SELECT Sum(Month11) AS SC2M11 FROM flows WHERE Category = 2) AS C2M11
) AS M11,
(SELECT SUM(Month12) AS SC1M12 FROM flows WHERE Category = 1) AS C1M12,
(SELECT Sum(Month12) AS SC2M12 FROM flows WHERE Category = 2) AS C2M12;