【发布时间】:2017-04-22 12:44:37
【问题描述】:
我想做的事情应该很简单:给定一个 BigQuery 架构,我想选择除少数几个表之外的所有表(包括嵌套表)。棘手的是 BigQuery 具有嵌套结构,而我要排除的少数几个嵌套在其他记录中。
我在BigQuery documentation 中找到了SELECT * except 子句,这似乎很有希望。问题是它似乎不支持嵌套结构排除。
例如,使用公共 github_nested 数据集,我们可以编写如下查询
#standardSQL
SELECT * except (payload) FROM `bigquery-public-data.samples.github_nested` LIMIT 1000
通过从结果中删除有效负载记录,这成功实现了我们的预期。现在让我们想象一下,我们只想删除 payload.comment,从而在响应中保留其余的有效负载记录内容。我试过了
#standardSQL
SELECT * except (payload.comment) FROM `bigquery-public-data.samples.github_nested` LIMIT 1000
但是,这失败了。
有谁知道实现这一点的方法吗?
谢谢!
【问题讨论】:
标签: sql google-bigquery