Info vooraf:
Een tabel AFDELING is als volgt gedefinieerd:
int AfdelingID //Unieke sleutel
int Omschrijving
int ParentID //Sleutel van de bovenliggende afdeling
De ParentID van een afdeling hoeft dus niet altijd ingevuld staan, de directie hoeft zich tegenover niemand te verantwoorden.
Middels SQL wil ik door een input van een afdelingID de gegevens van het desbetreffende afdeling EN de onderliggende afdeling terugkrijgen. Zelf heb ik de volgende query:
Probleem is dat ik alleen de eerste onderliggende laag te zien krijg. Bijvoorbeeld:
Afdeling1 is hoofd van Afdeling2
Afdeling2 is hoofd van Afdeling3
Afdeling3 is hoofd van Afdeling4
In mijn voorbeeld krijg ik door de query alleen Afdeling1 en Afdeling2 terug. Echter: Afdeling1 is indirect ook hoofd van Afdeling3 en Afdeling4. Hoe kan ik deze informatie terugkrijgen?
Een tabel AFDELING is als volgt gedefinieerd:
int AfdelingID //Unieke sleutel
int Omschrijving
int ParentID //Sleutel van de bovenliggende afdeling
De ParentID van een afdeling hoeft dus niet altijd ingevuld staan, de directie hoeft zich tegenover niemand te verantwoorden.
Middels SQL wil ik door een input van een afdelingID de gegevens van het desbetreffende afdeling EN de onderliggende afdeling terugkrijgen. Zelf heb ik de volgende query:
code:
1
| SELECT * FROM Afdeling WHERE AfdelingID = 1 OR ParentID = 1 |
Probleem is dat ik alleen de eerste onderliggende laag te zien krijg. Bijvoorbeeld:
Afdeling1 is hoofd van Afdeling2
Afdeling2 is hoofd van Afdeling3
Afdeling3 is hoofd van Afdeling4
In mijn voorbeeld krijg ik door de query alleen Afdeling1 en Afdeling2 terug. Echter: Afdeling1 is indirect ook hoofd van Afdeling3 en Afdeling4. Hoe kan ik deze informatie terugkrijgen?