打印 所有论坛数据库 eejimkos 27个帖子已加入01/12 2012年12月12日 在视图中提供帮助
您好,
我想提前感谢你的帮助。 我将提供一个我的实际情况的例子。如果无法解决它,我可以提供ddl,计划等。
我有一个名为view_1的视图。 它实现如下,
sel *
from calendar_dim c
inner join
(
sel * from table1
where reference_dt > 11-11-2012
union all
sel * from view2
) as result_
on result_.date_clm = c.date_clm
;
** view2,包含聚合 - 分组依据和函数(提取......等)&其中reference_dt< 2012年11月11日 **
所以,如果我需要特定日期的结果,那就完美了。 意思是,它在视图中传递引用日期,它确实分区elemination并返回结果。
例如
sel *
from view1
where reference_dt = sel *
from view1
where reference_dt = '10-10-2012'
当我想在特定列上进行一些聚合时,问题就开始了,对于上个月的最后一个日期&对于指定日期的其他列的其他一些计算。意思是,如果我将日期设置为'10 -10-2012',我需要在一列中汇总'30 -09-2012'。
我设法处理这种情况,而不是加入日历,我加入了内部加入后的日历的新结果,以获得上个月的最后一个日期。
问题在于,在计划中,它会更正指定的日期,但是当它尝试上个月的上一个日期的聚合列时,它会进行全表扫描吗? 对这种行为的任何想法?
非常感谢。