Frage : Die Schaffung eines SQL oder des gespeicherten Verfahrens, um Hierarchie der Angestellter zu erhalten verzeichnete unter einem Manager

Ich habe eine EMP-Tabelle im below fashion.

Emp_id Emp NamensMgr_id Mgr_name

1 David UNGÜLTIGES NULL
2 Andrew 1 David
3 Tom 2 Andrew
4 Alex 3 Tom
5 Randy 4 Alex
6 Mitchel 5 Randy
11 Harry 6 Mitchell
22 George 2 Andrew
44 Karen 3 Tom
55 William 4 Alex
66 Ross 5 Randy
77 Joseph 6 Mitchell
88 Markierung 6 Mitchell
99 Paul 6 Mitchell

All, das ich bin ein SQL benötige, der die Resultate im below Format für einen gegebenen Angestellten gibt, der auf der Hierarchie basiert. Die Weise, die ich das Resultat erhalten sollte, ist, denn ein gegebener Angestellter ich den ganzen Angestellten unter ihm hinunter die Hierarchie erhalten muss. Ich angebracht die Hierarchienbildakte für weiteres explanation.

Mgr_Nm Emp_Name

Randy Randy
Randy Mitchell
Randy Ross
Randy Harry
Randy Joseph
Randy Mark
Randy Paul

Tom Tom
Tom Karen
Tom Randy
Tom William
Tom Mitchell
Tom Ross
Tom Harry
Tom Joseph
Tom Mark
Tom Paul

Mitchell Mitchell
Mitchell Harry
Mitchell Joseph
Mitchell Mark
Mitchell Paul


Can r, das dieses durch einen direkten SQL (oder) wir müssen ein gespeichertes proc/eine Funktion für dieses verursachen getan? Mir bitte helfen, wenn Sie dieses erzielen.

Thanks im Voraus
Attachments:

Antwort : Die Schaffung eines SQL oder des gespeicherten Verfahrens, um Hierarchie der Angestellter zu erhalten verzeichnete unter einem Manager

Ja können Sie dies in direktem SQL tun.  Nicht müssen Sie ein gespeichertes proc/eine Funktion für dieses nicht verursachen.  Sie müssen eine hierarchische Frage, die (in Oracle) Mittel, die Sie mit.einschließen müssen „, durch… prior“ Klausel und den „Anfang mit“ Klausel anschließen, so zwar schreiben:

mgr_name, emp_name vorwählen
von emp
mit „DAVID“ beginnen
durch vorheriges emp_name = mgr_name anschließen;

Sie können (beliebig) addieren diese Linie:
Auftragsgeschwister durch emp_name

(die Angestellten für jeden Manager in alphabetischer Reihenfolge setzen)

Sie können mit dem Namen eines anderen Managers, wenn Sie die Angestellten nur unter diesem Manager wünschen, und nicht allen Angestellten optionially beginnen.
Weitere Lösungen  
 
programming4us programming4us