Biorąc pod uwagę identyfikator podrzędny, muszę zwrócić kwerendę zawierającą wszystkich rodziców tego dziecka, a także ich rodziców, aż dotrę do rodzica root. Na przykład, biorąc pod uwagę dane:Rekurencyjnie znaleźć wszystkich przodków danego dziecka
ID/Parent ID
1/0
2/1
3/2
4/0
5/3
Więc gdybym przeszedł w ID 5 Chciałbym dostać zapytanie z rezultatów:
ID/Parent ID
1/0
2/1
3/2
Tabela ta nie działa z typem hierarchyid tak Podejrzewam, że trzeba będzie to zrobić przy użyciu CTE, ale nie mam pojęcia, jak to zrobić. Jeśli można to zrobić w zapytaniu SQL/proc, każda pomoc byłaby doceniana.
Dzięki
To jest po prostu niesamowite. Jedyne usprawnienie, jakie zrobiłem, to użycie klauzuli DISTINCT na ostatnim SELECT. Nie martwię się o wydajność z powodu małych zestawów nagrań, z którymi będę pracował. To odfiltrowuje duplikaty i po prostu zwraca hierarchie, które chcę, w oparciu o kryteria, które umieściłem w klauzuli WHERE pierwszego zapytania CTE (nie używając id = @childId w moim przypadku) – bcr