Besoin d'un Oracle hiérarchique requête qui retourne uniquement le plein arbres pour les dossiers où les enfants correspondre à une chaîne de recherche

Voici l'exemple complet de l'ensemble de données pour cette requête sans aucune élagage des arbres où aucun nœud correspond à la chaîne de recherche:

Niveau parent id de texte 
--------------------------------------------- 
0 0 1 toplevel 
1 1 2 foo 
1 1 3 sumthin d'autre 
1 1 4 foo 
0 0 7 toplevel2 
1 7 8 secondlevel 
1 7 9 anothersecondlevel 

J'ai besoin de retourner les éléments suivants si l'utilisateur effectue une recherche sur 'foo':

0 0 1 toplevel 
1 1 2 foo 
1 1 4 foo 

Le cas réel est un peu plus complexe (c'est à dire, trois niveaux dans l'arbre que je veux revenir), mais celui-ci saisit de la question. En anglais, le retour de l'ancêtre de l'arbre pour un nœud qui correspond à la chaîne de recherche de départ au nœud correspondant sur colonne de texte et retour tous les ancêtres.

Je suis nouveau à l'Oracle (au moins récemment), et ont essayé d'ajouter de la CONNECTER PAR la clause sans succès - renvoie toujours le suivant:

1 1 2 foo 
1 1 4 foo 

PS - l'oracle docs et des exemples sur ce que cela implique que CONNECT_BY_ROOT permettra de saisir les ancêtres, mais il semble faire, c'est le retour de haut niveau (RACINE) valeurs.

Êtes-vous le référencement de NIVEAU hiérarchique pseudo-colonne ou une colonne dans ta table?
J'ai posé une question similaire il y a longtemps - peut-être des réponses à ces questions aideront stackoverflow.com/questions/301817/...

OriginalL'auteur bchesley | 2011-10-13