Это можно сделать с помощью рекурсивного CTE:
Сначала настройте данные во временной таблице:
declare @t table(A varchar(100), B varchar(10), C varchar(10))
insert @t values ('Address','C','D'),('Lane','B','C'),('Suburb','D','E'),('State','A','B'),('Country',null,'A')
Объявить начальную точку
declare @start varchar(10); set @start='E'
Запустить рекурсивный запрос
;with cte as(
select A, B from @t where C=@start
union all
select convert(varchar(100),T.A+'/'+cte.A), T.B
from cte
join @t T on T.C=cte.B
)
select * from cte where B is null