这有效:
SELECT
count(*)
FROM
session.session_20170101 AS s
cross join UNNEST (s.pageviews) AS pages
这有效:
SELECT
count(*)
FROM
`session.session_*` AS s
WHERE
_TABLE_SUFFIX = '20170101'
但这不是:
SELECT
count(*)
FROM
`session.session_*` AS s
cross join UNNEST (s.pageviews) AS pages
WHERE
_TABLE_SUFFIX = '20170101'
错误:在[4:26]
的s中找不到名称综合浏览量但是,最后一个查询在一周前工作正常。我保存了查询,重新运行它不再有效。似乎我可以使用_TABLE_SUFFIX并单独交叉加入UNNEST,但是当我使用它时它会中断。
答案 0 :(得分:0)
看起来问题是您的表通配符扩展为包含一些与其余表具有不兼容架构的表。由于您的表名对应于YYYYMMDD
字符串,因此您可以包含更多YYYY部分来解决不兼容的表。例如:
#standardSQL
SELECT pageview
FROM `yourdataset.sessions_20*`
CROSS JOIN UNNEST(t.pageviews) AS pageview
WHERE _TABLE_SUFFIX BETWEEN '160101' AND '170101';