Calendarシステム ビューでビューを定義することにより、この便利な機能を活用できます。
Calendarに定義するビューでは、Todayビューが便利です。
CREATE VIEW Today AS ( SELECT * FROM Sys_Calendar.Calendar WHERE Sys_Calendar.Calendar.calendar_date = DATE );
Calendarシステム ビューにより、算術式や集計を簡単に指定できます。この機能は、特に、週、月、年度累計、年などでの集計値を求めることが一般的なOLAP(online analytical processing:オンライン分析処理)環境で活用されます。次に例を示します。
女性用のスポーツウェア部門の全商品アイテムを対象に、今週と先週の売上金額およびその前年同週の売上金額を算出します。
SELECT a2.week_of_calendar, SUM(a1.price) FROM Sales a1, CALENDAR a2, Item a3, Department a4, Today a5 WHERE a1.calendar_date=a2.calendar_date AND (a2.week_of_calendar=a5.week_of_calendar OR a2.week_of_calendar=a5.week_of_calendar - 1 OR a2.week_of_calendar=a5.week_of_calendar - 52 OR a2.week_of_calendar=a5.week_of_calendar - 53 ) AND a1.itemID=a3.itemID AND a3.classID=a4.classID AND a4.classDesc='Women’s Sportswear' GROUP BY a2.week_of_calendar ORDER BY a2.week_of_calendar;