Truy vấn phân cấp và đệ quy trong SQL Server
Jasmin Ludolf
Content Developer
familyTree được mô tả bởi:
ID của người đóName của người đóparentID ID của cha/mẹCác phần tử mô tả thứ bậc:
IDparentID
Ghi nhớ các nguyên tắc về CTE đệ quy:
Nguyên tắc vận hành:
Lấy số thế hệ
Định nghĩa LEVEL
-- Anchor member
0 as LEVEL
-- Recursive member
LEVEL + 1
Đếm số LEVEL để ra số thế hệ COUNT(LEVEL)
Generations:
100
Gộp tất cả cha/mẹ vào một trường
-- Anchor member
CAST(ID AS VARCHAR(MAX)) as Parent
-- Recursive member
Parent + ' -> ' + CAST(parentID AS VARCHAR(MAX))
+---------------------------------------------+
| Name | Parent |
|-----------------|---------------------------|
|Dominik Egarter | 100 -> 101 -> 102 ->103 |
+---------------------------------------------+
Truy vấn phân cấp và đệ quy trong SQL Server