Originally posted by Unknown
Adding to this, here are other examples for different tables (for ease of copying and pasting)
Location
WITH CTE AS
(
SELECT Id, LocationGroupId
FROM [Location]
WHERE LocationGroupId = 155256
UNION ALL
SELECT L.Id, L.LocationGroupId
FROM [Location] L
INNER JOIN CTE ON L.LocationGroupId = CTE.Id
)
SELECT G.*
FROM CTE C
INNER JOIN [Location] L ON L.Id = C.Id
Page
WITH CTE AS
(
SELECT Id, ParentPageId
FROM [Page]
WHERE ParentPageId = 731
UNION ALL
SELECT P.Id, P.ParentPageId
FROM [Page] P
INNER JOIN CTE ON P.ParentPageId = CTE.Id
)
SELECT P.*
FROM CTE C
INNER JOIN [Page] P ON P.Id = C.Id
Group Type
WITH CTE AS
(
SELECT ChildGroupTypeId, GroupTypeId
FROM [GroupTypeAssociation]
WHERE GroupTypeId = 177
UNION ALL
SELECT GTA.ChildGroupTypeId, GTA.GroupTypeId
FROM [GroupTypeAssociation] GTA
INNER JOIN CTE_GT ON GTA.GroupTypeId = CTE_GT.ChildGroupTypeId
)
SELECT GT.*
FROM CTE C
INNER JOIN [GroupType] GT ON GT.Id = C.ChildGroupTypeId