【发布时间】:2020-01-24 16:59:33
【问题描述】:
我有一个过程,我想传递多个尚未加载到我的 foreach 循环容器的日期,以便一次遍历一个日期。如果表中没有已加载的开始日期,我在 where 子句中有 isnull 来告诉它从该表的最小日期开始。目前,如果表中有一个日期已加载,它将从表中获取下一个日历日期以进行处理,但不会遍历所有日期。我的目标是让它通过所有尚未加载的日期,并一次遍历每个日期。所以我想做的是从 ods.CalendarDate 获取最小和最大日期,并加载这些日期之间的所有内容,包括那些尚未加载到 dbo.Customerinformation 的日期。以下是我目前的查询,请帮我把它改到它将选择所有尚未从表中处理的日期的位置。谢谢
DECLARE @ProcessAllDataSet BIT = ?
DECLARE @StartDate Date =?
DECLARE @EndDate date = ?
IF @LoadFullDataSet = 1
BEGIN
SELECT @StartDate = MIN(StartDate),
@EndDate = Max(StartDate) FROM dbo.CustomerInformation
END
SELECT DateProcessed = MIN(DateCalendar)
FROM ods.CalendarDate c
WHERE c.CalendarDate > ISNULL(@EndDate,'2001-01-01')
【问题讨论】:
标签: sql sql-server ssis foreach-loop-container