Oracle - рекурсивный запрос с использованием START WITH ... CONNECTED BY ...? - PullRequest
1 голос
/ 22 августа 2011

Допустим, у меня есть следующая таблица с использованием Oracle 10g

 ARTIFACT_LABEL |   DEPENDANT_ON
 test1          |   abc1
 test1          |   abc2
 test1          |   abc3
 abc3           |   xyz1
 abc4           |   xyz2

, и я хочу создать древовидную структуру, зная, от чего зависит test1 (поэтому я хочу вернуть abc1, abc2, abc3, xyz1) iveиспользовал следующее:

SELECT ARTIFACT_LABEL, DEPENDANT_ON FROM DEPENDANCIES START WITH ARTIFACT_LABEL = 'test1' CONNECT BY NOCYCLE PRIOR ARTIFACT_LABEL = DEPENDANT_ON

Но это не работает (кажется, просто делает SELECT where ARTIFACT_LABEL = 'test1')

Есть идеи, где я ошибаюсь?

1 Ответ

1 голос
/ 22 августа 2011

Поскольку вы начинаете с нижней части дерева и работаете, измените последнюю часть запроса на:

PRIOR DEPENDANT_ON = ARTIFACT_LABEL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...