在BigQuery中取消嵌套多个嵌套字段

时间:2018-10-25 20:38:02

标签: sql google-bigquery

我正在尝试在BigQuery中使用标准SQL方言取消嵌套的changelog.histories.items重复记录(绿色轮廓线)以访问嵌套项目表(蓝色轮廓线)中的行。父记录“ changelog”(用红色标记)不是重复记录,因此我在弄清要嵌套的内容时遇到了问题。

尝试取消嵌套changelog.histories或changelog.histories.items的查询会导致以下错误。

SELECT changelog.histories.items.to
FROM jirasparta_database.jira_issues, 
     unnest(changelog.histories) 

错误:无法在[1:28]上访问类型为ARRAY,...>,ARRAYto STRING,字段STRING,字段类型STRING,... >>,... >>的值的字段项目]

Image of Table Schema with color coding

1 个答案:

答案 0 :(得分:0)

#standardSQL
SELECT item.to   
FROM jirasparta_database.jira_issues, 
UNNEST(changelog.histories) history, UNNEST(history.items) item

基本上,您必须展平STRUCT和ARRAY值。您可以查看this documentation了解更多详细信息。

相关问题