Sử dụng ví dụ của bạn, bạn có thể xử lý tập hợp con của tên cha mẹ ở con cái nếu tên cha mẹ được chứa bên trong tên của những người phụ thuộc. Nếu vậy, hãy xem xét một truy vấn liên hợp:
# GREAT-GRANDPARNTS
SELECT DISTINCT Null As Parent, Parent As Dependent
FROM Ancestry
WHERE Len(Parent) = 1
UNION
# GRANDPARNTS
SELECT DISTINCT Left(Parent, 1) As Parent, Parent As Dependent
FROM Ancestry
WHERE Len(Parent) = 3
UNION
# PARENTS
SELECT DISTINCT Left(Child, 1) As Parent, Child As Dependent
FROM Ancestry
WHERE Len(Child) > 3
UNION
# CHILDREN
SELECT DISTINCT Left(Child, 3) As Parent, Child As Dependent
FROM Ancestry
WHERE Len(Child) > 3;
Tất nhiên là điều chỉnh Len()
, Left()
hoặc Mid()
chuỗi hàm và mở rộng (tức là cháu) theo mẫu tên Tổ tiên thực tế. Giải pháp này sẽ không hoạt động nếu không có tham chiếu của cha mẹ trong các giá trị chuỗi con.