У меня есть следующие heirarchies в БД
A (1)
|_A1 (2)
| |_A11 (1)
|
|_A2 (1)
и
B (5)
|_B1 (3)
|
|_B2 (1)
|_B21 (2)
|_B22 (3)
Я могу добиться таких результатов
Parent Child Views
A A1 2
A1 A11 1
A A2 1
B B1 3
B B2 1
B2 B21 2
B2 B22 3
используя следующий запрос
with w(child, parent, views) as
(
select 'A', null, 1 from dual
union all
select 'A1', 'A', 2 from dual
union all
select 'A11', 'A1', 1 from dual
union all
select 'A2', 'A', 1 from dual
union all
select 'B', null, 5 from dual
union all
select 'B1', 'B', 3 from dual
union all
select 'B2', 'B', 1 from dual
union all
select 'B21', 'B2', 2 from dual
union all
select 'B22', 'B2', 3 from dual
)
select parent, child
from w
where level >1
connect by w.parent = prior w.child
start with w.parent is null
;
Теперь я хочу упорядочить по представлениям desc между ('B', null, 5) и ('A', null, 1), прежде чем начинать с ~, как показано ниже
Parent Child Views
B B1 3
B B2 1
B2 B21 2
B2 B22 3
A A1 2
A1 A11 1
A A2 1
Я пытался изменить запрос вставки позиции 'A' и 'B', но он не был эффективен.
Каким образом я могу искать в иерархии, начиная с «B», а не «A»
У меня были проблемы с этим весь день. пожалуйста, помогите мне