选择记录中的各个字段

时间:2019-06-05 01:18:46

标签: google-bigquery

要选择记录的字段,我可以执行以下操作:

SELECT application_references FROM `patents-public-data.cpc.definition` 
where symbol='B03'

但是,我将如何选择结构中的字段,例如:

SELECT application_references.description, application_references.target FROM `patents-public-data.cpc.definition` 
where symbol='B03'

我尝试使用不带刻度线的标准点表示法,但无法选择这些内部字段。怎么办?

1 个答案:

答案 0 :(得分:1)

以下是用于BigQuery标准SQL

#standardSQL
SELECT symbol, app_ref.description, app_ref.target 
FROM `patents-public-data.cpc.definition`, 
  UNNEST(application_references) app_ref 
WHERE symbol='A01D'  

application_references是重复记录,因此在引用数组的各个元素之前必须先取消嵌套。之后,您可以使用点符号来访问结构元素

如果要查看具有空application_references数组的符号-可以使用如下所示的LEFT JOIN

#standardSQL
SELECT symbol, app_ref.description, app_ref.target 
FROM `patents-public-data.cpc.definition`
LEFT JOIN UNNEST(application_references) app_ref 
WHERE symbol='B03'