Dziś czytając kolejny artykuł w MSDN Magazine natrafiłem na ciekawy sposób wykorzystania CTE ( Common Table Expression ) do rekursywnych zapytań. Dzięki temu można dla danych hierarchicznych wykonać jedno zapytań, które zwróci wszystkie dane, bez tworzenia pętli. W artykule opisane jest, na jakiej zasadzie działa takie zapytanie oraz jakie są warunki stopu.
Dzięki temu od dziś będę mógł tworzyć sobie takie hierarchiczne zapytania:
;WITH TeamTable(ID,Alias) AS
(
SELECT ID,Alias FROM [doTeam-View] WHERE Alias = ‘DSM’
UNION ALL
SELECT t.ID,t.Alias FROM [doTeam-View] t JOIN TeamTable tt ON tt.ID = t.ParentTeam
)
SELECT * FROM TeamTable
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl