Я создал рекурсивный запрос, который возвращает мне строку истории товарной категории (типичное отношение родитель-потомок:
with recursive productCategoryHierarchy as (
--start with the "anchor" row
select
1 as "level",
pg1.id,
pg1.title,
pg1.parentproductgroup_id
from product_group pg1
where
pg1.id = '17e949b6-85b3-4c87-8f76-ad1e61ea01e1' --parameterize me
union all
-- Get child nodes
select
pch.level +1 as "level",
pg2.id,
pg2.title,
pg2.parentproductgroup_id
from product_group pg2
join productCategoryHierarchy pch on pch.parentproductgroup_id = pg2.id
)
-- Get hierarchy as string
select
CONCAT('',string_agg(productCategoryHierarchy.title, ' > '),'')
from productCategoryHierarchy;
Теперь я хочу использовать этот результат в другом запросе как подзапрос , чтобы я мог использовать созданную строку в качестве атрибута в родительском запросе. Возможно ли это в Postgres или есть другое решение для получения иерархического дерева в виде строки в атрибуте?