Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Получить связанные записи / 3 сообщений из 3, страница 1 из 1
11.07.2020, 18:08
    #39978476
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить связанные записи
В таблице имеются следующие поля:

Код: plaintext
id, link_id, ....

Поле link_id ссылается на id записи в этой же таблице, типа предыдущей версии, всегда один к одному.
Вопрос, можно ли как-то одним запросом по id записи (123) получить полную цепочку записей, типа:

Код: plaintext
1.
2.
3.
123, 98,   ...
98,  74,   ...
74,  32,   ...
32,  null, ...

?
...
Рейтинг: 0 / 0
11.07.2020, 18:16
    #39978479
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить связанные записи
WITH RECURSIVE
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.07.2020, 18:34
    #39978482
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить связанные записи
Dimitry Sibiryakov,

Примерно так, как я понял?
Код: sql
1.
2.
3.
4.
5.
6.
7.
with recursive
  history as (
    select id, val, link_id from odata where link_id is null
    union all
    select o.id, o.val, o.link_id from odata o
      join history h on h.id = o.link_id)
select id, val, link_id from history;
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Получить связанные записи / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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