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

时间:2015-05-12 18:05:18

标签: google-bigquery

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

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

SELECT blah
FROM FLATTEN(TABLE_QUERY(dataset, "tableid CONTAINS 'foo_'"), repeated_field)

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

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

1 个答案:

答案 0 :(得分:5)

我认为问题是FLATTEN不能成为表的联合,如果TABLE_QUERY计算到多个表,TABLE_QUERY最终会被重写。解决方法是将TABLE_QUERY包装在子选择中,使FLATTEN对单个源(子选择)进行操作。

SELECT blah
FROM FLATTEN(
  (SELECT * FROM TABLE_QUERY(dataset, "tableid CONTAINS 'foo_'")), 
  repeated_field)
相关问题