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.