У меня есть данные, которые структурированы следующим образом:Как создать Пробелы недостающих данных
Используя следующий КТР:
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)
Я создал «Date Set», которые выглядят как это:
Проблема: В исходном наборе данных есть некоторая информация, которая не имеет соответствующей даты в 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;
Ваш запрос выглядит хорошо - вы ничего не предприняли, чтобы упростить это до публикации, не так ли? –
@SteveHomer: Не совсем. В моем наборе данных имеется еще около 7 столбцов, но об этом. –
Любые критерии в поле с правой стороны соединения (myData)? –