Vraag : Het creëren van SQL of een opgeslagen procedure om hiërarchie van werknemers te krijgen maakte van onder een manager een lijst

Ik heb een EMP lijst in de onderstaande fashion.

Emp_id Emp Naam Mgr_id Mgr_name

1 David NULL NULL
2 Andrew 1 David
3 Tom 2 Andrew
4 Alex 3 Tom
5 Wellustige 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 Teken 6 Mitchell
99 Paul 6 Mitchell

All I behoefte SQL is die de resultaten in het onderstaande formaat voor een bepaalde die werknemer geeft op de hiërarchie wordt gebaseerd. De manier ik het resultaat zou moeten krijgen is, voor een bepaalde werknemer moet ik al werknemer onder hem krijgen onderaan de hiërarchie. Ik heb het dossier vastgemaakt van het hiërarchiebeeld want verdere 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 dit door directe SQL (of) wij moet opgeslagen creëren proc/functioneert voor dit wordt gedaan? Gelieve te helpen me in het bereiken van dit.

Thanks vooraf
Attachments:
van van

Antwoord : Het creëren van SQL of een opgeslagen procedure om hiërarchie van werknemers te krijgen maakte van onder een manager een lijst

Ja, kunt u dit in directe SQL doen.  Nr, u moet tot geen opgeslagen leiden proc/functioneert voor dit.  U moet een hiërarchische vraag schrijven niettemin, die (in Oracle) middelen moet u „omvatten verbindt door… vroegere“ clausule en het „begin met“ clausule, als dit:

selecteer mgr_name, emp_name
van emp
begin met „DAVID“
verbind door vroegere emp_name = mgr_name;

U kunt (naar keuze) deze lijn toevoegen:
orde siblings door emp_name

(om de werknemers voor elke manager in alfabetische orde te zetten)

U kunt optionially met de naam van een verschillende manager beginnen als u slechts de werknemers onder die manager, en niet alle werknemers wilt.
Andere oplossingen  
 
programming4us programming4us