重命名 BigQuery 查询中的嵌套字段

查尔斯五世

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

我有包含许多嵌套字段的架构的更改数据捕获表。我想做这样的事情:

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)。

米哈伊尔·贝里安特

我认为您的问题存在的唯一解释是您是否仍在使用 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   

因此,要解决您的问题 - 只是“简单” migrate to BigQuery Standard SQL

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章