1. Nauka
  2. /
  3. Kursy
  4. /
  5. Hierarchiczne i rekurencyjne zapytania w SQL Server

Connected

ćwiczenie

Kto jest moim przełożonym?

W tym ćwiczeniu chcemy wyznaczyć ścieżkę od szefa na szczycie hierarchii do pracowników na jej najniższym poziomie. Aby to zrobić, musimy połączyć informacje uzyskane w każdym kroku w jedno pole. Można to osiągnąć, łącząc wartości ID za pomocą CAST() – z liczby na ciąg znaków. Przykładowo CAST(ID AS VARCHAR(MAX)) konwertuje ID z typu liczbowego na typ znakowy.

Zadanie polega na znalezieniu ścieżki dla pracowników Chris Feierabend z ID=18 oraz Jasmin Mentil z ID=16 – aż do samego szczytu organizacji. Wynik powinien mieć następującą postać: boss_first_level -> boss_second_level .... W zapytaniu należy wybrać identyfikatory pracowników, a nie ich imiona i nazwiska.

Instrukcje

100 XP
  • Zainicjuj Path wartością ID przełożonego (0) oraz warunkiem startowym rekurencji.
  • Użyj UNION, aby połączyć człon kotwiczący, i zdefiniuj pola członu rekurencyjnego (ID, Name, Supervisor).
  • Dodaj ID przełożonego (Supervisor) do Path w każdym kroku rekurencji.
  • Wybierz identyfikatory pracowników Chris Feierabend i Jasmin Mentil w CTE.