2016-03-31 8 views
0

Ich bin ein Anfänger in SQL, also weiß ich nicht, wie dieses Problem anzugehen. Es ist Northwind verwandt mit Oracle. Ich habe eine Tabelle von Mitarbeitern, und jeder Mitarbeiter hat die ID eines anderen Angestellten als Manager (dh die Person der Mitarbeiter berichtet):SQL, Anfänger Probleme mit Northwind Database Übungen

Ich muss es umdrehen, so dass anstelle eines Angestellten einen Manager, der Manager sollte eine Liste von Untergebenen in einer einzelnen Zelle haben.

Wie soll ich das angehen? Ich habe keine Ahnung ...

+0

Untergebenen sind nur N-1 Untergebene oder auch N-2, N-3 etc ...? –

+1

Sie benötigen dies als Ergebnis Ihrer Anfrage? Oder benötigen Sie dies, um den Entwurf Ihres Tabellenschemas zu erstellen? Im letzteren Fall sollten Sie diese Idee aufgeben und stattdessen eine untergeordnete Tabelle erstellen. – squillman

+0

Wie ist die Struktur der Mitarbeiter Tabelle? –

Antwort

0

Sie sie in eine Zelle verketten könnte, aber ich bin nicht sicher, wenn es das ist, was Sie wollen oder welche Nutzungsdaten in dieser Form wäre. Sie möchten, dass sich die Daten in getrennten Zellen befinden.

Hier ist auch ein Beispiel für eine Oracle-Lösung. https://stackoverflow.com/a/9621167

+0

Danke! Diese Beispiele sind die besten, die ich bisher bekommen habe. – EpicCheese

0

Ich denke, alle untergeordneten Liste Sie eine hierarchische Abfrage verwenden sollte:

select * 
from 
employees 
start with NAME = <NAME> 
connect by REPORTSTO = prior EMPLOYEE_ID ; 

Sie auch hier haben Beispiel Oracle Hierarchical Query: Find entire tree from the root giving a any node

NB Setzen Sie die Liste in einer Zelle es ist der Schritt danach.

bearbeiten zurückgekehrt employee_id in connect von