【发布时间】:2015-11-12 20:01:25
【问题描述】:
我们有一系列包含重复记录的架构表,如下所示:
[{
name: "field1",
type: "RECORD",
mode: "REPEATED",
fields: [{type: "STRING", name: "subfield1"}, {type: "INTEGER", name: "subfield2"}]
}]
当我们创建一个包含重复记录字段的视图时,我们总是会出错:
Error in query string: Field field1 from table xxxxx is not a leaf field.
我知道使用 flatten 可能会更好,但是所有这些字段都包含我们想要测试的大部分不同的过滤器,而且我们还有许多其他非重复字段,如果扁平化将难以管理。
原来问题在于从多个表中选择重复的记录字段(不是在创建视图中)。有没有简单的方法来解决这个问题?
谢谢
【问题讨论】:
-
你的 select 语句是什么样子的?
-
看起来像
Select field1 from (TABLE_QUERY(dataset, 'REGEXP_MATCH(table_id, xxx)')) -
您需要明确输入为 field1.*
-
原来也不行:
Error in query string: 0.0 - 0.0: Wildcard pattern field1.* cannot be used to refer to fields in a union -
我认为这两者相关,请先尝试不使用 table_query 函数
标签: google-bigquery google-cloud-platform