Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по одному алгоритму SQL

5.5K
20 апреля 2004 года
Старый Гость
13 / / 14.04.2004
Помогите плиз с одной пустяковиной. Имеется таблица Динамика, куда заносятся изменения данных о работниках. Введено число, на которое нужно сформировать запись по работнику А. Допустим, по этому работнику по полю Оклад было 10 изменений, а введенное число укладывается в период так с 6-го по 7-е изменение. Т.е. нужно по полю Оклад выбрать 6-ю строку в Динамике. Как это в SQL реализовать? Через курсор и fetch?
348
20 апреля 2004 года
Saris
389 / / 14.03.2003
Цитата:
Originally posted by Старый Гость
Помогите плиз с одной пустяковиной. Имеется таблица Динамика, куда заносятся изменения данных о работниках. Введено число, на которое нужно сформировать запись по работнику А. Допустим, по этому работнику по полю Оклад было 10 изменений, а введенное число укладывается в период так с 6-го по 7-е изменение. Т.е. нужно по полю Оклад выбрать 6-ю строку в Динамике. Как это в SQL реализовать? Через курсор и fetch?


Не понял. Если тебе нужно выбрать за какое число было сделано изменение так и выбирай там где число равно какой либо дате. А если тебе нужно выбрать только 6 строку то это можно сделать через курсоры или чем нибудь типа ораклового rownum.

5.5K
20 апреля 2004 года
Старый Гость
13 / / 14.04.2004
Oracle, восьмерка...
348
20 апреля 2004 года
Saris
389 / / 14.03.2003
Цитата:
Originally posted by Старый Гость
Oracle, восьмерка...


Если нужна строка с определённым номером то находишь строку где ROWNUM = <нужный номер строки>.

5.5K
20 апреля 2004 года
Старый Гость
13 / / 14.04.2004
Нужна строка, у которой дата изменения меньше введенной в форме, а в следующей дата изменения больше введенной в форме. Т.е. заранее номер строки неизвестен, нужно сравнить введенную дату с теми, которые есть в таблице...
348
20 апреля 2004 года
Saris
389 / / 14.03.2003
Цитата:
Originally posted by Старый Гость
Нужна строка, у которой дата изменения меньше введенной в форме, а в следующей дата изменения больше введенной в форме. Т.е. заранее номер строки неизвестен, нужно сравнить введенную дату с теми, которые есть в таблице...


Если я правильно понял то тебе нужна одна строка???
Если так, то попробуй следующее:
select * from (select * from tab1 where Modif_date< <дата из формы> order by modif_date desc) where rownum=1;

5.5K
20 апреля 2004 года
Старый Гость
13 / / 14.04.2004
Спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог