Первая таблица с именем «Шаблон» имеет столбцы «Дата вступления в силу» и «Конфигурация», как показано ниже:
![](https://i.stack.imgur.com/OwCaI.png)
Вторая таблица представляет собой финансовый календарь, содержащий даты, финансовую неделю и Финансовый год.
![](https://i.stack.imgur.com/JzZb5.png)
Первая Дата вступления в силу приходится на 39-ю финансовую неделю, тогда как следующая дата вступления в силу приходится на 42-ю финансовую неделю. Это означает, что 40-я и 41-я финансовые недели должны иметь те же конфигурации, что и на 39-й фискальной неделе. Мне нужен выход, который отражает это. Я написал следующий фрагмент, но вывод неправильный и показывает конфигурацию D на 42-й финансовой неделе.
![](https://i.stack.imgur.com/5wJ0I.png)
SELECT *
FROM (
SELECT a.FiscalYear, a.FiscalWeek, EffectiveDate, Configuration,
ROW_NUMBER() OVER (PARTITION BY CONCAT(FiscalYear,FiscalWeek,EffectiveDate,Configuration) ORDER BY EffectiveDate ) AS rn
FROM [Template],
[FiscalCalendar] AS a
WHERE AND a.FiscalDate BETWEEN '2019-10-27' AND '2019-11-17'
AND EffectiveDate BETWEEN '2019-10-27' AND '2019-11-17'
AND EffectiveDate = a.FiscalDate
) AS t WHERE t.rn = 1