我正在尝试在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,... >>,... >>的值的字段项目]
答案 0 :(得分:0)
#standardSQL
SELECT item.to
FROM jirasparta_database.jira_issues,
UNNEST(changelog.histories) history, UNNEST(history.items) item
基本上,您必须展平STRUCT和ARRAY值。您可以查看this documentation了解更多详细信息。