我有相应的数据
Asset Link
100
101 100
102 101
103 102
104 103
105 104
我的要求是,如果我将任何值传递给Asset
列,它应该返回资产移动的所有先前和未来历史记录,
例如
如果将103
传递到Asset
列,则应通过将值与link_to
列相关联来返回数据下方
101 100
102 101
103 102
104 103
105 104
请建议任何有用的解决方案
由于
答案 0 :(得分: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