2015-08-26 4 views
0

J'essaie de reconfigurer une vue en une vue matérialisée pour les synthèses de synthèse. Est-il possible de mettre en œuvre le processus afin que je puisse réunir chaque mois les paramètres de la vue matérialisée facilement sans avoir à exécuter des variables de substitution à chaque fois:Vue matérialisée avec des variables de remplacement mensuelles

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

Serait-il pu être conçu d'une manière qui peut tirer tous les deux mois même si ce mois est encore arrivé.

Vraiment apprécier.

Répondre

0

Je suppose que c'est la suite d'un certain nombre d'autres questions que vous avez posées. Je suppose que vous voulez juste quelque chose comme ça où vous générez les mois que vous voulez (dans ce cas, les 12 mois de 2015) et l'utiliser dans une jointure externe dans votre requête.

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