我在尝试从我的google analytics bigquery导出表中获取错误时...我想通过一些过滤器查看一个月的数据(包括将其缩小到特定感兴趣的全名列表的列表) )。但是,当我运行以下查询时,我收到此错误:
错误:(L2:1):JOIN(包括半连接)和UNION ALL(逗号)可能不会合并在一个SELECT语句中。将UNION ALL移动到内部查询或将JOIN移动到外部查询。
select date, fullvisitorid, visitid, visitstarttime, visitnumber, hits.hitNumber, hits.page.pagePath, hits.page.pageTitle, hits.type --and other columns
FROM (TABLE_DATE_RANGE([mydata.ga_sessions_],TIMESTAMP('2015-02-01'),TIMESTAMP('2015-02-28')))
where fullvisitorid in (select * from [mydata.visitorid_lookup]) --table includes a list of fullvisitorids I am interested in
and device.browser!='Internet Explorer'
and lower(hits.page.pagePath) not like '%refer%'
and lower(hits.page.pagePath) like '%sample%'
所以我将查询更改为:
select * from (
select date, fullvisitorid, visitid, visitstarttime, visitnumber, hits.hitNumber, hits.page.pagePath, hits.page.pageTitle, hits.type
FROM (TABLE_DATE_RANGE([mydata.ga_sessions_],TIMESTAMP('2015-02-01'),TIMESTAMP('2015-02-28')))
where device.browser!='Internet Explorer'
and lower(hits.page.pagePath) not like '%refer%'
and lower(hits.page.pagePath) like '%sample%')
where fullvisitorid in (select * from [mydata.visitorid_lookup_test])
然后给出了一个错误,指出响应太大而无法返回。如果在子查询中执行fullvisitorid的where语句,那么它将被大大减少,但当然这似乎不可能。所以我觉得我在这个岩石和坚硬的地方之间......我还有另一种方法吗?谢谢!
答案 0 :(得分:2)
“结果太大”错误适用于查询的最终结果,这意味着即使在应用WHERE中的semijoin之后结果也太大。如果您使用“允许大结果”设置,这应该可以使用。