Как сделать выборку в SQL
У меня есть таблица INFO с полями ID, Parent_id, Name_object. 
Как объединить (Без использования написания собственных функций), чтобы кол-во строк сохранилось так же 3, но при этом в поле Name_object добавить наименование родительских полей, т.е
в ID 655 - Name Сад-во Энергетик,
в ID 168057 - Name Сад-во; 4,
и в ID 698 - Name Сад-во; 4; Рябиновая.
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
Это будет что-то типа
MERGE INTO info
USING (
WITH cte (id, parent_id, path) AS (
SELECT id, parent_id, name_object
FROM info
WHERE parent_id IS NULL
UNION ALL
SELECT info.id, info.parent_id, cte.path || '; ' || info.name_object
FROM cte
JOIN info ON (cte.id = info.parent_id)
)
SELECT id, path
FROM cte
) data ON (data.id = info.id)
WHEN MATCHED THEN
UPDATE SET info.name_object = data.path;
А если нужна только выборка - берёшь только подзапрос.