У меня есть набор данных с большим количеством диапазонов дат. Я хочу создать код, который позволит мне выбирать, скажем, дни за последние 30 дней. Однако я хочу обрезать или исключить дни до начала моего диапазона.
Давайте представим, что мой набор данных таков:
StayID StayStart StayEnd
1 Jan 1 Jan 10
2 Jan 1 Feb 28
3 Feb 1 Feb 10
4 Feb 10 Feb 28
У меня также есть параметр {? ReportStart} идопустим, я установил его на 1 февраля. Сначала я исключил бы все пребывания, которые были до этого, но я также хочу изменить даты так, чтобы все даты были после выбранного диапазона. Мне нужен следующий вывод:
StayID StayStart StayEnd
2 Feb 1 Feb 28
3 Feb 1 Feb 10
4 Feb 10 Feb 28
Я думаю, что должен сделать что-то подобное, но я очень плохо знаком с SQL:
SELECT StayID,
(SELECT CASE WHEN StayStart < {?ReportStart} THEN {?ReportStart}
ELSE StayStart
END
) AS StayStart,
StayEnd
Я на правильном пути? Любой совет будет оценен!