У меня есть две таблицы, примеры ниже.SQL Oracle - использование RowNum в запросе
table_1
days special_day
10/09/2013 Y
10/10/2013 N
10/11/2013 Y
10/12/2013 N
10/13/2013 N
10/14/2013 Y
table_2
id special_day_ind numdays order
123 Y 3 2
456 N 5 1
Мой запрос должен выбрать разность между sysday и правильной датой от table_1 на основе параметров в table_2. Если special_day_ind - «Y», мне нужно 3 (numdays) special_days обратно из sysdate. Если «N», число - это ответ. Результатом будет ORDER (ed) BY order asc (окончание).
В приведенном выше примере таблицы запрос вернется назад.
SYSDATE = 10/14/2013
id days
456 5
123 5 (10/14/2013 - 10/9/2013)
Похоже, что ROWNUM будет делать трюк, однако с различающимися «способами» подсчета, я не уверен, как поступить.
Думаю, вам нужно изучить [аналитические функции] (http://www.oracle-base.com/articles/misc/lag-lead-analytic-functions.php). –