Cách đơn giản nhất để thực hiện tự tham gia đệ quy trong SQL Server là gì? Tôi có một bảng như thế này:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
5 YT NULL
6 IS 5
Và tôi muốn có thể lấy các bản ghi chỉ liên quan đến hệ thống phân cấp bắt đầu từ một người cụ thể. Vì vậy, nếu tôi yêu cầu phân cấp của CJ theo PersonID = 1, tôi sẽ nhận được:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
Và đối với EB, tôi sẽ nhận được:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
Tôi hơi mắc kẹt về điều này, không thể nghĩ làm thế nào để làm điều đó ngoài một phản hồi có độ sâu cố định dựa trên một loạt các phép nối. Điều này sẽ làm như nó xảy ra bởi vì chúng tôi sẽ không có nhiều cấp độ nhưng tôi muốn làm đúng cách.
Cảm ơn! Chris.