使用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.name
或after_name
变为name
)。
答案 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