我有一张包含很多预定活动的桌子。我想创建一个包含此安装表中所有即将发生的事件的数据仓库表。我怎么能在下周这样做? 有些活动每5分钟,每小时,每小时,每天开始,等等。
示例表
Event_name, last_run, next_time, Intervallroundup5min
Job1, 2015-06-10 14:48:03.147, 2015-06-10 14:49:00.000 , 5
Job2, 2015-06-10 12:27:09.637, 2015-06-10 15:25:00.000, 180
答案 0 :(得分:0)
如果您的RDBMS支持递归CTE,您可以这样做:
with futurecte as
(
select event_name,
dateadd(mi,Intervallroundup5min,next_time) as NExtTime
,Intervallroundup5min
from
table1
union all
select
event_name,
dateadd(mi,Intervallroundup5min,nexttime)
,Intervallroundup5min
from
futurecte
where
dateadd(mi,Intervallroundup5min,nexttime) <= '2015-06-11' --end date
)
select
event_name,
nexttime
from
futurecte
将结束日期修改为您想要的任何值。 SQL Fiddle