1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Truy vấn phân cấp và đệ quy trong SQL Server

Connected

Bài tập

Tôi có cấp trên nào?

Trong bài tập này, bạn sẽ lấy đường đi từ sếp ở đỉnh hệ thống phân cấp xuống các nhân viên ở đáy. Để làm được điều này, bạn cần gộp thông tin thu được ở mỗi bước vào một trường. Bạn có thể làm điều đó bằng cách nối các ID và dùng CAST() để chuyển từ số sang chuỗi. Ví dụ: CAST(ID AS VARCHAR(MAX)) để chuyển ID kiểu số sang kiểu ký tự.

Nhiệm vụ là tìm đường đi cho nhân viên Chris Feierabend với ID=18 và Jasmin Mentil với ID=16 lên đến đỉnh của tổ chức. Đầu ra nên có dạng: boss_first_level -> boss_second_level .... Hãy chọn các ID của nhân viên chứ không phải tên của họ.

Hướng dẫn

100 XP
  • Khởi tạo Path bằng ID của cấp trên (0) và điều kiện bắt đầu của đệ quy.
  • Dùng UNION để kết hợp anchor member và định nghĩa các trường của recursive member (ID, Name, Supervisor).
  • Ở mỗi bước, thêm ID của cấp trên Supervisor vào Path.
  • Chọn các ID của nhân viên Chris Feierabend và Jasmin Mentil trong CTE.