
Tabloda hiyerarşik olarak birbirinie bağlı kayıtları tutan bir veri örneği bulunmaktadır. Hiyerarşi kavramı bize, verinin bütününün bir ağaç yapısı (tree) olduğunu bildirir.
Bu örnegimizde herhangi bir satirin adini üst seviyedeki satirlarin adlari ile birlestirerek gösterecegiz. Yani ağacın dallarını birleştireceğiz.
Örnegin
- Id si 4 olan satir için ; “Parent 1 -> Child 1.1 -> Child 1.1.1” degerini,
- Id si 2 olan satir için ; “Parent 1 -> Child 1.1” degerini
- Id si 1 olan satir için ; “Parent 1” degerini
elde etmeliyiz.
Bunun için asagidaki SQL Scripti kullanabiliriz.
WITH p AS ( SELECT Id,ParentId,Ad,cast(Ad as varchar(max)) as treepath FROM ParentChild WHERE parentID is null UNION ALL SELECT c.Id,c.ParentId,c.Ad,cast(p.treepath +'->'+cast(c.Ad as varchar(max)) as varchar(max)) as nihaipath FROM ParentChild c JOIN p ON p.Id = c.ParentId ) SELECT * FROM p
Sonuç

