วิธีที่ง่ายที่สุดในการเข้าร่วมด้วยตนเองแบบเรียกซ้ำใน SQL Server คืออะไร ฉันมีโต๊ะแบบนี้:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
5 YT NULL
6 IS 5
และฉันต้องการรับเรกคอร์ดที่เกี่ยวข้องกับลำดับชั้นโดยเริ่มจากบุคคลที่ระบุเท่านั้น ดังนั้นหากฉันขอลำดับชั้นของ CJ ตาม PersonID = 1 ฉันจะได้รับ:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
และสำหรับ EB ฉันจะได้รับ:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
ฉันติดอยู่เล็กน้อยไม่สามารถคิดว่าจะทำอย่างไรนอกเหนือจากการตอบสนองเชิงลึกคงที่ตามการรวมกลุ่ม สิ่งนี้จะเกิดขึ้นเพราะเราจะไม่มีหลายระดับ แต่ฉันต้องการทำให้ถูกต้อง
ขอบคุณ! คริส.