Сделать результат содержит номер заявки или запросить номер заявки по номеру публикации в outoutcome - PullRequest
0 голосов
/ 02 декабря 2018
SELECT 
  c.publication_number AS Pub, 
  COUNT(DISTINCT REGEXP_EXTRACT(p.publication_number, r'(.+-.+)-')) AS CitedByCount
FROM `patents-public-data.patents.publications` AS p, 
UNNEST(citation) AS 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

Я могу использовать номер приложения для приобретения CitedBy, но в результате получим Pub и CitedBy.Как я могу понять цель, что результат содержит номер заявки и CitedBy.

1 Ответ

0 голосов
/ 02 декабря 2018

Возможно, вы не хотите 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;
...