BigQuery:TABLE_QUERY但表之间的列不同

dru*_*key 5 google-bigquery

我们正在将csv文件加载到BigQuery中.每个文件都将创建一个单独的表.

当我们从这些表中选择时,我们主要使用表查询liek这样做:

SELECT foo, bar
FROM TABLE_QUERY(name_stub,'table_id CONTAINS "_something" and msec_to_timestamp(creation_time) > date_add(current_timestamp(), -90, "day")'));
Run Code Online (Sandbox Code Playgroud)

现在我们已经为新文件添加了新字段.因此,我们现在还有"baz",而不仅仅是字段"foo"和"bar".

当我运行以下查询时,我得到错误,其中一个较旧的表上不存在字段"baz".

SELECT foo, bar, baz
FROM TABLE_QUERY(name_stub,'table_id CONTAINS "_something" and msec_to_timestamp(creation_time) > date_add(current_timestamp(), -90, "day")'));
Run Code Online (Sandbox Code Playgroud)

有没有办法选择"baz"并且只有没有列的表的默认值?

Jer*_*dit 1

更新:此问题已得到解决。

BigQuery 现在支持表的 TABLE_DATE_RANGE,其中表的子集具有更广泛的架构。缺失的列在缺失该列的表中应显示为 NULL。

https://code.google.com/p/google-bigquery/issues/detail?id=439