1. 学ぶ
  2. /
  3. コース
  4. /
  5. SQL Server における階層型クエリと再帰クエリ

Connected

演習

自分の上司は誰?

この演習では、階層の最上位にいるボスから、階層の最下位にいる従業員までのパスを取得します。そのために、各ステップで得られた情報を1つのフィールドにまとめる必要があります。これは、数値の ID を CAST() を使って文字列に変換し、連結することで実現できます。例えば、数値型の ID を文字型に変換するには CAST(ID AS VARCHAR(MAX)) のようにします。

次のタスクは、従業員 Chris Feierabend(ID=18)と Jasmin Mentil(ID=16)のパスを、組織の最上位までたどることです。出力は boss_first_level -> boss_second_level ... のような形式にしてください。選択するのは従業員の名前ではなく ID です。

指示

100 XP
  • Path を上司(0)の ID と再帰の開始条件で初期化します。
  • アンカーメンバーを UNION し、再帰メンバーのフィールド(ID、Name、Supervisor)を定義します。
  • 各ステップで上司 Supervisor の ID を Path に追加します。
  • CTE 内で従業員 Chris Feierabend と Jasmin Mentil の ID を選択します。