powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с запросом
10 сообщений из 10, страница 1 из 1
Помогите с запросом
    #39718041
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица командировок.
id_key, id_ord, town
1, 1, Москва
1, 2, null
1, 3, null
1, 4, Тула
1, 5, null
1, 6, null
1, 7, null

Как сделать запрос, чтобы в выборке получилось без использования хранимых процедур

1, 1, Москва
1, 2, Москва
1, 3, Москва
1, 4, Тула
1, 5, Тула
1, 6, Тула
1, 7, Тула
...
Рейтинг: 0 / 0
Помогите с запросом
    #39718052
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with t0 as (
select 1 key_id, 1 ord, 'Москва' town from dual
union all
select 1 key_id, 2 ord, null town from dual
union all
select 1 key_id, 3 ord, null town from dual
union all
select 1 key_id, 4 ord, 'Тула' town from dual
union all
select 1 key_id, 5 ord, null town from dual
union all
select 1 key_id, 6 ord, null town from dual
union all
select 1 key_id, 7 ord, null town from dual
union all
select 1 key_id, 8 ord, null town from dual)
select * from t0
...
Рейтинг: 0 / 0
Помогите с запросом
    #39718061
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточните версию. Для >=11 - RTFM lag ignore nulls
...
Рейтинг: 0 / 0
Помогите с запросом
    #39718062
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MazoHist,
Oracle 11g
...
Рейтинг: 0 / 0
Помогите с запросом
    #39718069
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MazoHist,
спасибо
...
Рейтинг: 0 / 0
Помогите с запросом
    #39718073
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите с запросом
    #39719417
vitvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
with t0 as (
select 1 key_id, 1 ord, 'Москва' town from dual
union all
select 1 key_id, 2 ord, null town from dual
union all
select 1 key_id, 3 ord, null town from dual
union all
select 1 key_id, 4 ord, 'Тула' town from dual
union all
select 1 key_id, 5 ord, null town from dual
union all
select 1 key_id, 6 ord, null town from dual
union all
select 1 key_id, 7 ord, null town from dual
union all
select 1 key_id, 8 ord, null town from dual)
select key_id, ord, lag(town IGNORE NULLS,1,town) over ( partition by key_id order by ord) from t0
...
Рейтинг: 0 / 0
Помогите с запросом
    #39719437
vitvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
предыдущее не правильно
вот
select key_id, ord, nvl(town,lag(town IGNORE NULLS) over ( partition by key_id order by ord)) from t0
...
Рейтинг: 0 / 0
Помогите с запросом
    #39719503
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MazoHist,

Тогда уж last_value ignore nulls, а не lag
...
Рейтинг: 0 / 0
Помогите с запросом
    #39719536
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для любителей "старины глубокой": способ, работающий даже на версии Oracle 8i
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]