如何在BigQuery中使用表通配符展平?

Zap*_*hod 1 google-bigquery

我们最近切换到标准设置,其中包含以月(foo_2015_05)标记的表,其中包含重复字段的通用格式.最初当我创建一个基于一个大表的视图时,它迫使我在重复的字段上平移表.

当我尝试更新我的视图以考虑每月表时,我似乎无法同时使用表通配符和展平.

SELECT blah
FROM FLATTEN(TABLE_QUERY(dataset, "tableid CONTAINS 'foo_'"), repeated_field)
Run Code Online (Sandbox Code Playgroud)

给我以下错误: 无法解析表名:缺少数据集名称

我错过了什么吗?或者有解决方法吗?

Dan*_*itt 5

我认为问题在于,如果对多个表进行求值,那么FLATTEN表的并集TABLE_QUERY最终会被重写TABLE_QUERY.解决方法是TABLE_QUERY在子选择中包装,使FLATTEN操作在单个源(子选择)上.

SELECT blah
FROM FLATTEN(
  (SELECT * FROM TABLE_QUERY(dataset, "tableid CONTAINS 'foo_'")), 
  repeated_field)
Run Code Online (Sandbox Code Playgroud)