我正在寻找一些有趣的简单算法,将树的一部分复制(克隆)到树的另一部分。
我们有一张table:
create table tree (
id integer not null,
parent_id integer,
value varchar2(255),
CONSTRAINT tab_pk PRIMARY KEY (id)
);
begin
insert into tree(id, parent_id, value) values (1, null, 'A');
insert into tree(id, parent_id, value) values (2, 1, 'B');
insert into tree(id, parent_id, value) values (3, 1, 'C');
insert into tree(id, parent_id, value) values (4, 2, 'BC');
insert into tree(id, parent_id, value) values (8, 4, 'BCX');
insert into tree(id, parent_id, value) values (5, 2, 'BD');
insert into tree(id, parent_id, value) values (6, 3, 'CA');
insert into tree(id, parent_id, value) values (7, 3, 'CD');
end;
/
https://dbfiddle.uk/?rdbms=oracle_18&fiddle=9fe802f144a3af0663754cfb3e8dc1ba
如何轻松地复制树“b”(id=2),所有子树都在“ca”(id=6)下?
甲骨文18-19c。
1条答案
按热度按时间fruv7luv1#
我试着理解你的问题
原始查询提供此输出
然后你说你想要树“b”(id=2),所有子树都在“ca”(id=6)下
db<>小提琴