Материализованное представление с переменными ежемесячного замещения

Я пытаюсь перенастроить представление в материализованное представление для сводных сводок. Есть ли способ реализовать процесс, чтобы я мог легко собирать параметры каждого месяца из материализованного представления, не выполняя каждый раз замену переменных:

def RECORDMONTH = 201402
def BeginDate   = 2/01/2014
def EndDate     = 2/28/2014
def YEAR_MONTH =  2014-02

Сможет ли он быть спроектирован таким образом, чтобы он мог тянуть все два месяца, даже если этот месяц уже наступил.

Действительно ценю это.

1 ответ

Я предполагаю, что это продолжение ряда других вопросов, которые вы задали. Я предполагаю, что вы просто хотите что-то вроде этого, где вы генерируете нужные месяцы (в данном случае 12 месяцев 2015 года) и используете это во внешнем объединении в вашем запросе.

WITH all_months AS
  SELECT add_months( date '2015-01-01', level-1 ) start_of_month,
         last_day( add_months( date '2015-01-01', level-1 )) end_of_month
    FROM dual
 CONNECT BY level <= 12
)
SELECT am.start_of_month,
       count(*) num_rows,
       <<other aggregates>>
  FROM your_table yt
       RIGHT OUTER JOIN all_months am
          ON( yt.some_date BETWEEN am.start_of_month AND am.end_of_month )
 GROUP BY am.start_of_month
Другие вопросы по тегам