У меня есть таблица, которая представляет собой простой> ребенок родителей-иерархии, что-то вроде:Как объединить детей и родителей в один запрос?
Table "public.transactions"
Column | Type | Modifiers
-----------+---------------+-----------------------------------------------------------
id | integer | not null default nextval('transactions_id_seq'::regclass)
parent_id | integer | not null default 0
amount | numeric(15,4) | not null default 0.0000
я хотел, чтобы отобразить таблицу с дочерними сделок (те, с parent_id> 0), сгруппированных ниже своих родителей , например,
parent
child
child
parent
child
parent
parent
(примечание: вложенные пространства здесь только для визуального представления иерархии, они не нужны для результатов запроса)
Могу ли я сделать это в одном запросе? Я выполняю Postgresql 9.3, если это имеет значение.
Такие вопросы должны предоставлять данные выборки, в идеале SQLfiddle. Также: что вы пробовали? –
Все двигатели SQL работают с отношениями, которые можно рассматривать как табличные структуры. Вложенное представление, которое вы указали, не является табличным, поэтому запрос не может вернуть ничего похожего на это. Вы возвращаете что-то наподобие 'parent1 child1 \ n parent1 child2 \ n parent2 child1 ...' – voithos
@voithos. Вложенность существует только для визуального представления иерархии, она не понадобится как часть запроса. –