重命名BigQuery查询

时间:2018-03-09 16:32:35

标签: sql google-bigquery

使用dot运算符选择BigQuery中的嵌套字段。

我有更改数据捕获表,其中包含具有大量嵌套字段的模式。我想做这样的事情:

SELECT
   after.name as name, 
   after.age as age,
   after.address as address
FROM [mytable]

无需手动指定<root.leaf> as <leaf>子句。我正在寻找类似的东西:

SELECT after.* as <column suffix> from `mytable`

这可能吗?

编辑:下面的其他信息

请注意,我的目标是删除输出字段名称中的after前缀(即after.nameafter_name变为name)。

1 个答案:

答案 0 :(得分:1)

我看到你的问题存在的唯一解释 - 是你还在使用BigQuery Legacy SQL。所以,是的,在这种情况下,如果仅使用SELECT field_name.*

,您将获得以下内容
#legacySQL
SELECT user_dim.device_info.*
FROM [firebase-analytics-sample-data:android_dataset.app_events_20160607]
LIMIT 2

结果将是(我正在剥离大多数列并仅显示前两个)

Row user_dim_device_info_device_category    user_dim_device_info_mobile_brand_name 
1   mobile                                  BLU      
2   mobile                                  Samsung

在BigQuery Standard SQL中,您将在下面看到相同的查询

#standardSQL
SELECT user_dim.device_info.*
FROM `firebase-analytics-sample-data.android_dataset.app_events_20160607`
LIMIT 2   

Row device_category mobile_brand_name
1   mobile          BLU 
2   mobile          Samsung   

所以,为了解决你的问题 - 只是&#34;简单地说&#34; migrate to BigQuery Standard SQL