Проблема:
У меня есть таблица, которая записывает строки данных в foo
. Каждый раз, когда строка обновляется, добавляется новая строка вместе с номером ревизии. Таблица выглядит так:
id rev field
1 1 test1
2 1 fsdfs
3 1 jfds
1 2 test2
Обратите внимание, что в таблице последняя запись представляет собой более новую версию первой строки.
Кто-нибудь знает об эффективном способе запроса последней версии строк и конкретной версии записей? Например, запрос для rev=2
будет возвращать 2, 3 и 4 строки (но не замененную 1-ю строку), тогда как запрос для rev=1
дает эти строки с rev <= 1, а в случае дублированных идентификаторов выбирается один с более высоким номером ревизии (запись: 1, 2, 3).
Я действительно не уверен, что это возможно даже в SQL Server...
Я бы не хотел возвращать результат итеративным способом.