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ư sau:Cách đơn giản nhất để thực hiện tự tham gia đệ quy?
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ể nhận được các hồ sơ chỉ liên quan đến một hệ thống phân cấp bắt đầu với một người cụ thể. Vì vậy, Nếu tôi yêu cầu hệ thống cấp bậc của CJ bởi 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 của tôi nhận được:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
tôi là một chút khó khăn về vấn đề này có thể không thể nghĩ như 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ẽ xảy ra vì 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 điều đó đúng cách.
Cảm ơn! Chris.
Bạn đang sử dụng phiên bản SQL Server nào? tức là Sql 2000, 2005, 2008? – chadhoc
SO câu hỏi liên quan đến truy vấn đệ quy: http://stackoverflow.com/search?q=sql-server+recursive –