Предположим, у меня есть таблица с отношениями родитель-потомок.
parent child 1 4 1 5 2 6 3 7 4 8 6 9 7 10 8 11
Теперь у меня есть запрос, который возвращает список людей (например, 1 и 2), и я хочу найти всех их детей, внуков и т. Д. (В данном случае: 4, 5, 6, 8, 9, 11) .
Я знаю, что могу использовать обычные табличные выражения для рекурсивного поиска, но мне было интересно, могу ли я создать оператор SQL, чтобы найти всех потомков сразу, без необходимости перебирать входной набор.
Изменить: извините за недостаточно ясность. Я ищу что-то вроде:
SELECT {Hierarchical relation} from table where parent in (1,2)
, что должно привести к единственному выходному столбцу со строками для 4, 5, 6, 8, 9, 11.
Меня больше не интересуют отношения в выходных данных, просто полный набор членов семьи для нескольких семей.