Это мои исходные данные, где TIMESTAMP_WID относится к ГГГГММДД

Результат вывода, который я пытаюсь достичь, следующий,

Лог c, как показано ниже,
CUR_TIMESTAMP относится,
TO_NUMBER(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE,'MON'),-2),'YYYYMMDD'))
Код, который я пробовал до сих пор, выглядит следующим образом:
(SELECT
OUTLET,
SUM(SALES_VALUE),
TO_NUMBER(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE,'MON'),-2),'YYYYMMDD')) AS CUR_TIMESTAMP
FROM SOME_TABLE)
UNION
(SELECT
OUTLET,
SUM(SALES_VALUE),
TO_NUMBER(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE,'MON'),-3),'YYYYMMDD')) AS CUR_TIMESTAMP
FROM SOME_TABLE)
(SELECT
OUTLET,
SUM(SALES_VALUE),
TO_NUMBER(TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE,'MON'),-4),'YYYYMMDD')) AS CUR_TIMESTAMP
FROM SOME_TABLE)
В приведенном выше запросе sql я могу заполнить то же, что и моя цель, но есть очень важная логика c при расчете СУММА (SALES_VALUE)
Когда,
CUR_TIMESTAMP=20200101
Then,
SUM(SALES_VALUE) will be calculated for
TIMESTAMP_WID IN (20200101,20191201,20191101,20191001,20190901,20191001,20190901,20190801)
Когда,
CUR_TIMESTAMP=20201201
Then,
SUM(SALES_VALUE) will be calculated for
TIMESTAMP_WID IN (20191201,20191101,20191001,20190901,20191001,20190901,20190801,20190701)
Когда,
CUR_TIMESTAMP=20201101
Then,
SUM(SALES_VALUE) will be calculated for
TIMESTAMP_WID IN (20191101,20191001,20190901,20191001,20190901,20190801,20190701,20190601)
Кто-нибудь, пожалуйста, ведите меня