мне нужна помощь с запросом SQL, я попытался повторить мою актуальную проблему, создав этот простой пример:SQL запросов: необходимую помощь
Родители стол:
id name parent_id
1 parent1 null
2 parent2 1
3 parent3 1
4 parent4 3
5 parent5 3
6 parent6 5
7 parent7 5
Родственникам стол:
id name parent_id
1 relative1 2
2 relative2 3
3 relative3 4
4 relative4 5
5 relative5 7
В таблице родителей есть список родителей, у которых также есть родители. В таблице «Родственники» есть список родственников с столбцом parent_id.
Как бы мне найти все родственник parent3 включая все «desendants» в parent3, т.е. запрос должен возвращать следующий из родичей таблицы:
relative2 (так как родительский идентификатор 3)
relative3 (так как родительский идентификатор 4, родитель идентификатор 3)
relative4 (так как родительский идентификатор 5, родитель идентификатор 3)
relative5 (так как родительский идентификатор 7 которого родитель идентификатор 5 чей родитель i d is 3)
Я использую SQL Server 2008. Надеюсь, что имеет смысл, любая помощь приветствуется.
Это общий случай рекурсии. Вы должны найти много похожих примеров в google. Советы: узнайте больше о рекурсии и CTE, и вы сможете сбить ее с ног. Если у вас все еще есть проблемы, создайте sqlfiddle и разместите свой вопрос здесь. –