Я пытаюсь получить инструкцию SQL, которая решает следующую проблему.
У меня есть таблица «календарь», которая включает в себя только один столбец «дата».Эта таблица содержит 12 записей для каждого месяца в 2019 году (01.31.2019, 02.2.201.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.
Я пробовал подзапрос и оставлял объединения, но я так и не получил желаемый результат.
Есть у кого-нибудь идея?или лучше решение этой проблемы.Я ценю любую поддержку