Поиск всех дочерних элементов для нескольких родителей в одном запросе SQL

Предположим, у меня есть таблица с отношениями родитель-потомок.

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.

Меня больше не интересуют отношения в выходных данных, просто полный набор членов семьи для нескольких семей.

9
задан MvdD 21 November 2011 в 03:30
поделиться