要选择记录的字段,我可以执行以下操作:
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'
我尝试使用不带刻度线的标准点表示法,但无法选择这些内部字段。怎么办?
答案 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'