我的数据结构如下:
使用以下 CTE:
WITH DateRange AS
(
SELECT CAST('2012-01-24 06:00' AS DATETIME) DateValue
UNION ALL
SELECT DATEADD(mi, 1, DateValue)
FROM DateRange
WHERE DATEADD(mi, 1, DateValue) <= '2012-01-24 12:00'
)
SELECT DateValue FROM DateRange
OPTION (MAXRECURSION 0)
我创建了一个如下所示的“日期集”:
问题是:原始数据集中的某些数据在 CTE 中没有对应的日期(在提供的示例中,数据中不存在 2012-01-24 6:00)。
对于这些缺失的数据点,我希望将“NULL”视为它们的值。我想我也许可以利用我生成的 CTE 中的日期,但我不确定我该怎么做。
我尝试过这样的事情但没有成功:
SELECT C.DateValue, D.Value
FROM myCTE C
LEFT OUTER JOIN myData D ON C.DateValue = D.Date
ORDER BY C.DateValue ASC;