Опитвам се да получа SQL оператор, който решава следния проблем.
Имам таблица "календар", която включва само една колона "дата". Тази таблица има 12 записа за всеки месец през 2019 г. (31.01.2019 г., 28.02.2019 г. и т.н.). Втората таблица „стойности“ (която получавам от ERP система) има три колони „от“, „до“ и „сума“ (напр. 01.01.2019, 06.30.2019, 50 и 08.01.2019, 08.31.2019, 100).
Имам това просто изявление, което проверява кой запис е валиден на конкретната дата:
SELECT Calendar.Date, Values.From, Values.To, Values.Amount
FROM Calendar, [Values]
WHERE Calendar.Date >= Values.From
AND Calendar.Date <= Values.To;
Няма валиден запис (в таблицата "стойности") за юли, септември, октомври, ноември и декември.
В случай че няма валиден запис, трябва да се използва последният запис. През юли ще бъде 50, а за септември, октомври ... ще бъде 100.
Опитах подзаявка и оставих съединения, но така и не получих желания резултат.
Някой има ли идея или по-добро решение за този проблем. Оценявам всяка подкрепа