这是可行的:
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,但当我同时使用这两种语言时,它就会崩溃。
发布于 2017-02-07 01:48:38
看起来问题在于您的表通配符扩展到包括一些与其他表具有不兼容模式的表。因为您的表名对应于YYYYMMDD字符串,所以您可以包含更多的YYYY部分来处理不兼容的表。例如:
#standardSQL
SELECT pageview
FROM `yourdataset.sessions_20*`
CROSS JOIN UNNEST(t.pageviews) AS pageview
WHERE _TABLE_SUFFIX BETWEEN '160101' AND '170101';https://stackoverflow.com/questions/42073908
复制相似问题