Schönen guten Tag zusammen!
Ich habe folgenden Query:
Dieser Query zieht die Daten aus eine Tabelle, so dass Mitarbeiter, Projektleiter und Bereichsleiter aufgelistet werden und deren hierarchische Zuordnung:
- Bereichslieter
--- Projektleiter
----- Mitarbeiter
Ich nutze also einen SELF JOIN um so die entsprechenden Personen zu bekommen.
Nun habe ich folgende zwei Fragen:
1) Ist es möglich, einen solchen SELF JOIN rekursiv zu formulieren? Sodass es also auch möglich wäre, neue "Ebenen" innerhalb der Hierarchie zu nutzen, ohne den Query anzupassen?
2) Wie kann ich mir die aktuelle "Hierarchieebene" anzeigen lassen? (z.B. wäre jetzt Mitarbeiter Ebene #3, Projektleier Ebene #2 und Bereichsleiter Ebene #1)
Vielen Dank für eure Hilfe!
Ich habe folgenden Query:
Code:
SELECT b.name AS Bereichsleiter, p.name AS Projektleiter, m.name AS Mitarbeiter
FROM menschen AS b
LEFT JOIN menschen AS p ON b.id = p.vorgesetzter_id
LEFT JOIN menschen AS m ON p.id = m.vorgesetzter_id
WHERE b.name = 'Meier'
Dieser Query zieht die Daten aus eine Tabelle, so dass Mitarbeiter, Projektleiter und Bereichsleiter aufgelistet werden und deren hierarchische Zuordnung:
- Bereichslieter
--- Projektleiter
----- Mitarbeiter
Ich nutze also einen SELF JOIN um so die entsprechenden Personen zu bekommen.
Nun habe ich folgende zwei Fragen:
1) Ist es möglich, einen solchen SELF JOIN rekursiv zu formulieren? Sodass es also auch möglich wäre, neue "Ebenen" innerhalb der Hierarchie zu nutzen, ohne den Query anzupassen?
2) Wie kann ich mir die aktuelle "Hierarchieebene" anzeigen lassen? (z.B. wäre jetzt Mitarbeiter Ebene #3, Projektleier Ebene #2 und Bereichsleiter Ebene #1)
Vielen Dank für eure Hilfe!