SQL рекурсивный запрос к самореференсной таблице (Oracle)

Предположим, у меня есть этот пример данных:

| Name     | ID | PARENT_ID |
-----------------------------
| a1       | 1  | null      |
| b2       | 2  | null      |
| c3       | 3  | null      |
| a1.d4    | 4  | 1         |
| a1.e5    | 5  | 1         |
| a1.d4.f6 | 6  | 4         |
| a1.d4.g7 | 7  | 4         |
| a1.e5.h8 | 8  | 5         |
| a2.i9    | 9  | 2         |
| a2.i9.j10| 10 | 9         |

Я хотел бы выбрать все записи, начиная с accountId = 1, поэтому ожидаемый результат будет:

| Name     | ID | PARENT_NAME | PARENT_ID | 
-------------------------------------------
| a1       | 1  | null        | null      |
| a1.d4    | 4  | a1          | 1         |
| a1.e5    | 5  | a1          | 1         |
| a1.d4.f6 | 6  | a1.d4       | 4         |
| a1.d4.g7 | 7  | a1.d4       | 4         |
| a1.e5.h8 | 8  | a1.e5       | 5         |

В настоящее время я могу сделать рекурсивный выбор, но тогда я не могу получить доступ к данным из родительской ссылки, поэтому я не могу вернуть parent_name. Я использую код (адаптированный к упрощенному примеру):

SELECT id, parent_id, name
FROM tbl 
  START WITH id = 1 
  CONNECT BY PRIOR id = parent_id

Какой SQL я должен использовать для упомянутого выше поиска?

Дополнительные ключевые слова для будущих искателей: SQL для выбора иерархических данных, представленных родительскими ключами в той же таблице

Ответы на вопрос(5)

Ваш ответ на вопрос