Проще говоря, мой вопрос похож на ЭТОТ ВОПРОС, ЧАСТЬ 2 , единственная проблема в том, что я не использую Oracle и, следовательно, не могу использовать числа.
Для тех, кому нужна дополнительная информация и примеры:
У меня есть стол
contractId date value
1 09/02/2011 A
1 13/02/2011 C
2 02/02/2011 D
2 08/02/2011 A
2 12/02/2011 C
3 22/01/2011 C
3 30/01/2011 B
3 12/02/2011 D
3 21/01/2011 A
РЕДАКТИРОВАТЬ: добавил еще одну строку для ContractID. Так как у меня был некоторый код, но это отобразило бы следующее:
contractId date value value_old
1 09/02/2011 A
2 08/02/2011 A D
3 30/01/2011 B C
3 30/01/2011 B A
Но это не что я хочу! Результат должен быть таким, как показано ниже!
Теперь я хочу выбрать последнюю запись перед заданной датой и сравнить ее с предыдущим значением.
Предположим, что в данном примере «заданной датой» является 11/02/2011 , результат должен быть таким:
contractId date value value_old
1 09/02/2011 A
2 08/02/2011 A D
3 30/01/2011 B C
У меня есть запрос на выбор последней записи до указанной даты. Это легкая часть. Но чтобы выбрать последнюю запись перед , я потерялся ...
Я действительно надеюсь, что смогу получить некоторую помощь здесь, несколько дней ломал голову над этим и искал ответы в Интернете и через stackoverflow.