Возможно, вы не хотите group by
?
select c.publication_number as Pub,
regexp_extract(p.publication_number, r'(.+-.+)-')) as cited_by
from `patents-public-data.patents.publications` p cross join
unnest(citation) c
where c.publication_number in (select publication_number
from `patents-public-data.patents.publications`
where application_number in ('CN-201510747352-A')
);
В качестве альтернативы, вы можете объединить их в массив:
select c.publication_number as Pub,
array_agg(distinct regexp_extract(p.publication_number, r'(.+-.+)-'))) as cited_bys
from `patents-public-data.patents.publications` p cross join
unnest(citation) c
where c.publication_number in (select publication_number
from `patents-public-data.patents.publications`
where application_number in ('CN-201510747352-A')
)
group by c.publication_number;