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

Lấy tất cả các Parent có thể trong một trường?

Nhiệm vụ cuối cùng trong chương này là tìm tất cả các Parent có thể bắt đầu từ một ID và gộp các ID của mọi thế hệ tìm được vào một trường duy nhất.

Để làm điều này, bạn sẽ tìm kiếm đệ quy tất cả các thành viên có thể và thêm thông tin này vào một trường. Bạn cần dùng toán tử CAST() để gộp các ID thành một chuỗi. Bạn sẽ tìm tất cả thành viên trong gia đình bắt đầu từ ID = 290. Tổng cộng có 300 bản ghi trong bảng family.

Hướng dẫn

100 XP
  • Đặt ParentID của 290 làm điểm bắt đầu.
  • Nếu Parent.ID = '' trong phép CASE, trường Parent cần được gán bằng ParentID hiện tại.
  • Nếu Parent.ID <> '' trong phép CASE, cần nối thêm Parent ID vào giá trị Parent hiện tại ở mỗi vòng lặp.
  • Chọn Name và Parent từ CTE đã định nghĩa.