将公司日历存储在数据库中,如下所示。需要注意的是公司历经过周五从周六开始: -用于创建聚合视图的Oracle sql查询
Date1 Week Month Quarter Year Shift
23-FEB-13 9 6 2 2013 ABC
23-FEB-13 9 6 2 2013 DEF
22-FEB-13 9 6 2 2013 ABC1
22-FEB-13 9 6 2 2013 DEF2
21-FEB-13 8 6 2 2013 DEF2
什么我试图做的是创建一个视图来存储周#,StartWeek,EndWeek即存储当前一周的开始和结束日期像
Week StartWeek EndWeek
9 22-FEB-13 23-FEB-13
这是我迄今为止
SELECT START_DATETIME, F_WEEK, ROW_NUMBER() OVER (PARTITION BY F_WEEK, F_YEAR ORDER BY SHIFT DESC) RNUM FROM COMMON.FISCAL_CALENDAR WHERE F_WEEK IN (SELECT F_WEEK FROM COMMON.FISCAL_CALENDAR WHERE TO_DATE(START_DATETIME, 'DD-MON-YY') = TO_DATE(SYSDATE, 'DD-MON-YY')) AND F_YEAR IN (SELECT F_YEAR FROM COMMON.FISCAL_CALENDAR WHERE TO_DATE(START_DATETIME, 'DD-MON-YY') = TO_DATE(SYSDATE, 'DD-MON-YY')) ORDER BY START_DATETIME DESC
会高度赞赏,如果任何人都可以扔在这更多的光线?
你真的想忽略'Year'?忽略它的任何解决方案都会捆绑2013年第7周,2012年第7周(以及每隔一年) – 2013-02-24 08:11:36