Вопрос по одному алгоритму SQL
Помогите плиз с одной пустяковиной. Имеется таблица Динамика, куда заносятся изменения данных о работниках. Введено число, на которое нужно сформировать запись по работнику А. Допустим, по этому работнику по полю Оклад было 10 изменений, а введенное число укладывается в период так с 6-го по 7-е изменение. Т.е. нужно по полю Оклад выбрать 6-ю строку в Динамике. Как это в SQL реализовать? Через курсор и fetch?
Цитата:
Originally posted by Старый Гость
Помогите плиз с одной пустяковиной. Имеется таблица Динамика, куда заносятся изменения данных о работниках. Введено число, на которое нужно сформировать запись по работнику А. Допустим, по этому работнику по полю Оклад было 10 изменений, а введенное число укладывается в период так с 6-го по 7-е изменение. Т.е. нужно по полю Оклад выбрать 6-ю строку в Динамике. Как это в SQL реализовать? Через курсор и fetch?
Помогите плиз с одной пустяковиной. Имеется таблица Динамика, куда заносятся изменения данных о работниках. Введено число, на которое нужно сформировать запись по работнику А. Допустим, по этому работнику по полю Оклад было 10 изменений, а введенное число укладывается в период так с 6-го по 7-е изменение. Т.е. нужно по полю Оклад выбрать 6-ю строку в Динамике. Как это в SQL реализовать? Через курсор и fetch?
Не понял. Если тебе нужно выбрать за какое число было сделано изменение так и выбирай там где число равно какой либо дате. А если тебе нужно выбрать только 6 строку то это можно сделать через курсоры или чем нибудь типа ораклового rownum.
Oracle, восьмерка...
Цитата:
Originally posted by Старый Гость
Oracle, восьмерка...
Oracle, восьмерка...
Если нужна строка с определённым номером то находишь строку где ROWNUM = <нужный номер строки>.
Нужна строка, у которой дата изменения меньше введенной в форме, а в следующей дата изменения больше введенной в форме. Т.е. заранее номер строки неизвестен, нужно сравнить введенную дату с теми, которые есть в таблице...
Цитата:
Originally posted by Старый Гость
Нужна строка, у которой дата изменения меньше введенной в форме, а в следующей дата изменения больше введенной в форме. Т.е. заранее номер строки неизвестен, нужно сравнить введенную дату с теми, которые есть в таблице...
Нужна строка, у которой дата изменения меньше введенной в форме, а в следующей дата изменения больше введенной в форме. Т.е. заранее номер строки неизвестен, нужно сравнить введенную дату с теми, которые есть в таблице...
Если я правильно понял то тебе нужна одна строка???
Если так, то попробуй следующее:
select * from (select * from tab1 where Modif_date< <дата из формы> order by modif_date desc) where rownum=1;
Спасибо!