powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Аналог LEAD/LAG Oracle
5 сообщений из 5, страница 1 из 1
Аналог LEAD/LAG Oracle
    #39528407
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Кто-то пробовал сделать аналог функций LEAD/LAG Oracle?
Например: FIRST_VALUE/LAST_VALUE существуют, а вот LEAD/LAG не нашел.

Для справки:
LEAD- Возвращает значения из следующей строки из результата запроса.
LAG- Возвращает значения из предыдущей строки из результата запроса.
Server-ASA17

Спасибо!
...
Рейтинг: 0 / 0
Аналог LEAD/LAG Oracle
    #39528419
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulJBLEAD- Возвращает значения из следующей строки из результата запроса.
LAG- Возвращает значения из предыдущей строки из результата запроса.


Предыдущей по какому критерию ?
...
Рейтинг: 0 / 0
Аналог LEAD/LAG Oracle
    #39528452
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например запрос (Oracle):
select t.id,
t.code,
lag(t.code) over(order by t.id) as prev,
lead(t.code) over(order by t.id) as next
from TABLE t
order by t.id

Результат:
===============================
N | ID | CODE | PREV | NEXT
===============================
1 | 51 | IsCr |<NULL>| TrP
2 | 52 | TrP | IsCr | Iss |
3 | 279 | Iss | TrP | Iss |
4 | 372 | Iss | Iss | qqq
5 | 663 | qqq | Iss | gggg
6 |666 | gggg | qqq | eee
7 | 667 | eee | gggg |<NULL>
===============================

Где-то так ...
Хотелось- бы подобное для ASA

Сорри за табличку - как то криво получилось. :(

Спасибо
...
Рейтинг: 0 / 0
Аналог LEAD/LAG Oracle
    #39528669
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
max(t.code) over (partition by 1 order by t.id rows between 1 preceding and 1 preceding) as prev,
max(t.code) over (partition by 1 order by t.id rows between 1 following and 1 following) as next
...
Рейтинг: 0 / 0
Аналог LEAD/LAG Oracle
    #39529237
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бумбараш, Огромное человеческое Спасибо!

Правда, почему-то, "с колес" не заработало.
ASA не принял фразу "partition by 1".
Получил ошибку:
Invalid ORDER BY specification
SQLCODE=-152, ODBC 3 State="42000"

В моем случае "partition by ..." надо было просто убрать.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Аналог LEAD/LAG Oracle
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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