无法访问类型为ARRAY <STRUCT <hitNumber INT64,时间INT64,小时INT64,... >>的Big Query中的字段

Fey*_*n27 32 sql nested google-bigquery

我正在尝试在BigQuery上使用标准SQL方言(即不是旧版SQL)运行查询.我的查询是:

SELECT
date, hits.referer
FROM `refresh.ga_sessions_xxxxxx*`
LIMIT 1000
Run Code Online (Sandbox Code Playgroud)

但不断收到错误

Error: Cannot access field referer on a value with type 
ARRAY<STRUCT<hitNumber INT64, time INT64, hour INT64, ...>> at [2:12]
Run Code Online (Sandbox Code Playgroud)

有人知道正确的语法吗?

Mik*_*ant 49

如果你正在寻找所有的参考者 - 试试

SELECT date, h.referer
FROM `refresh.ga_sessions_xxxxxx*`, UNNEST(hits) as h
Run Code Online (Sandbox Code Playgroud)

  • 对于那些来这里尝试在 firebase 上工作的人,这里有一篇不错的博文:https://firebase.googleblog.com/2017/03/bigquery-tip-unnest-function.html (7认同)
  • 当我使用函数“UNNEST”时,我收到此“错误:语法错误:意外的关键字 UNNEST”。我仅以标准 SQL 方言运行查询 (2认同)
  • 好吧,我发现了错误,我在选择中使用了“UNNEST”,它只能与“FROM”一起使用。 (2认同)