Загрузка данных


with parents as (
    select distinct
        si.id,
        si.name,
        si.service_type
    from ourpension.spr_indicator_bu si
    join ourpension.spr_accounts_indicator_bu sa
        on sa.spr_indicator_bu_id = si.id
    where sa.account in ('389', '390')
      and 'NPO' = any(si.service_type)
)
select
    p.id as parent_id,
    p.name as parent_name,
    p.service_type as parent_service_type,
    child.id as child_id,
    child.name as child_name,
    child.service_type as child_service_type,
    'NPO' = any(child.service_type) as child_for_npo,
    sa.account as child_account
from parents p
left join ourpension.spr_indicator_bu child
    on child.is_aggregate = p.id
left join ourpension.spr_accounts_indicator_bu sa
    on sa.spr_indicator_bu_id = child.id
order by p.id, child.id, sa.account;