这些是我的 2 个表id_hierarchy
和hierarchy_link
:
CREATE TABLE id_hierarchy
(
id integer NOT NULL,
hierarchy integer
);
insert into id_hierarchy values (11,2),(22,3),(44,5),(77,8),(170,11),
(190,13),(240,18),(255,20);
CREATE TABLE hierarchy_link
(
hid integer NOT NULL,
parent_hid integer
);
insert into hierarchy_link values (1,0),(2,1),(3,2),(5,3),(8,5),(11,8),
(13,11),(15,13),(18,15),(20,18);
Run Code Online (Sandbox Code Playgroud)
与id_hierarchy.hierarchy
=hierarchy_link.hid
对于以下 CTE 查询:
with recursive rt1 as(
select id,hid,parent_hid||'->'||hid as str
from rt2
where rt2.parent_hid=1
union
select t.id,t.hid,s.str||'->'||t.hid as str
from rt2 t
inner join rt1 s on (s.hid=t.parent_hid)
),
rt2 as (
select id, …
Run Code Online (Sandbox Code Playgroud)