I have many tables to join, some of them have joining columns as array,
When I tried with two tables it worked fine
select 
        tr.report_id,
        tr.sponsor_ids,
        array_agg(tsp.sponsor)
    --from public.tbl_report_page trp
    from  public.tbl_report tr --on trp.report_id = tr.report_id
    left join public.tbl_sponsor tsp on tsp.sponsor_id = any(tr.sponsor_ids)
    --left join public.tbl_tag tg on tg.tag_id = any(tr.tags)
    group by tr.report_id,tr.sponsor_ids--,trp.page_id
    having tr.report_id = 109
This works fine,
109 {1,2,3,4,5,6} "{sponsor_1,sponsor_2,sponsor_3,sponsor_4,sponsor_5,sponsor_6}"
but when I uncomment
left join public.tbl_tag tg on tg.tag_id = any(tr.tags)
getting lots of values in sponsors
109 {1,2,3,4,5,6}   "{sponsor_1,sponsor_1,sponsor_1,sponsor_2,sponsor_2,sponsor_2,sponsor_3,sponsor_3,sponsor_3,sponsor_4,sponsor_4,sponsor_4,sponsor_5,sponsor_5,sponsor_5,sponsor_6,sponsor_6,sponsor_6}"
I have to add more tables which contains ids as array.
 
    