У меня есть таблица со структурой:
CompanyID, CompanyName, LinkedCompanyID
, так что несколько компаний могут быть связаны в иерархии
например,
CompanyID, CompanyName, LinkedCompanyID
1 Company A, NULL
2 Company B, 1
3 Company C, 2
4 Company D, 2
5 Company E, 4
6 Company F, 3
7 Company G, NULL
Я бы хотел, чтобы запрос возвращал родительский уровень каждой компании
, то есть
CompanyID, CompanyName, ToplevelParentID
1 Company A, NULL (or 1 I don't mind)
2 Company B, 1
3 Company C, 1
4 Company D, 1
5 Company E, 1
6 Company F, 1
7 Company G, NULL (or 7 I don't mind)
Я рассмотрел использование рекурсивного выражения CTE, но во всех примерах яможно найти возврат иерархического списка от родительского вниз, а не самого верхнего родителя.
Может кто-нибудь, пожалуйста, предоставить любые указатели или пример запроса