сортировка предыдущих данных с любой строкой

я имею следующие данные соответственно

Asset Link
100 
101 100
102 101
103 102
104 103
105 104

Мое требование состоит в том, что если я передаю любое значение в Assetстолбец, он должен вернуть всю предыдущую и будущую историю движения 103, например, если Pass Assetto Assetcolumn, он должен вернуться ниже данных, связывая значения со link_toстолбцом

101 100
102 101
103 102
104 103
105 104

Пожалуйста, предложите любое полезное решение

благодаря

sql,oracle11g,

0

Ответов: 1


0

Первая часть для исторического движения, вторая для будущего, unionзаключается в их объединении:

select * from data 
  where link is not null
  connect by prior link = asset start with asset = 103
union 
select * from data 
  connect by prior asset = link start with asset = 103

Контрольная работа:

create table data (asset number(4), link number(4));
insert into data values (100, null);
insert into data values (101, 100);
insert into data values (102, 101);
insert into data values (103, 102);
insert into data values (104, 103);
insert into data values (105, 104);
insert into data values (205, 214);

ASSET  LINK
----- -----
  101   100
  102   101
  103   102
  104   103
  105   104
SQL, oracle11g,
Похожие вопросы