Обычно я просто делал это в самом коде, но мне любопытно, можно ли это эффективно выполнить в TSQL.SQL Присоединиться к Ближайшие меньше даты
Table 1 Date - Value
Table 2 Date - Discount
Таблица 1 содержит записи для каждого дня. Таблица 2 содержит записи только при изменении скидки. Скидка, применяемая к стоимости, считается действительной до тех пор, пока не будет введена новая скидка.
Пример данных:
Table 1 1/26/2010 - 10 1/25/2010 - 9 1/24/2010 - 8 1/24/2010 - 9 1/23/2010 - 7 1/22/2010 - 10 1/21/2010 - 11
Table 2 1/26/2010 - 2 1/23/2010 - 1 1/20/2010 - 0
Что мне нужно Возвращается следующее: T1 Date - T1 Value - T2 Discount
Пример данных:
1/26/2010 - 10 - 2 1/25/2010 - 9 - 1 1/24/2010 - 8 - 1 1/24/2010 - 9 - 1 1/23/2010 - 7 - 1 1/22/2010 - 10 - 0 1/21/2010 - 11 - 0
Возможно, или я лучше просто продолжать делать это в коде?
+1: Хорошая идея. Было бы интересно увидеть стендовый знак подзапроса vs. join с row_number. – Joel