我有一个表格,描述了以树状结构组织的元素:
ID, PARENT_ID, NAME
0 null TOP
1 0 A
2 0 B
3 0 C
4 1 AA
5 2 BA
6 3 CA
7 6 CAA
...
此层次结构中可以有许多级别。
假设有一个元素列表(比如 ID 2 和 3),我想从表中获取所有子记录。
像这样的东西:
select *
from MY_TABLE
start with PARENT_ID in (2,3)
connect by PARENT_ID = prior ID
将返回:
ID, PARENT_ID, NAME
5 2 BA
6 3 CA
7 6 CAA
但是,我希望将每个输出记录映射到列表 (2,3) 中的原始父项,以便输出如下所示:
ORIGINAL_PARENT_ID, ID, PARENT_ID, NAME
2 5 2 BA
3 6 3 CA
3 7 6 CAA
如何做呢?