[英]Getting selection of structs from an array of structs in BQ
我有一個表,其中一列定義為:
my_column ARRAY<STRUCT<key STRING, value FLOAT64, description STRING>>
是否有一些簡單的方法來指定要在SELECT
語句中返回的參數列表? 例如刪除description
,因此結果列仍然是一個結構數組,但只包含key
和value
。
下面是 BigQuery 標准 SQL
#standardSQL
SELECT * REPLACE(
ARRAY(
SELECT AS STRUCT * EXCEPT(description)
FROM UNNEST(my_column)
) AS my_column)
FROM `project.dataset.table`
以上完全保留了表的架構,並且僅通過刪除描述來更改 my_column 字段
我只會取消嵌套,然后重新聚合您選擇的字段。
select array_agg(struct(m.key,m.value)) as my_new_column
from table
left join unnest(my_column) m
我找到了這種方式:
SELECT
ARRAY(SELECT AS VALUE STRUCT(key, value) FROM a.my_column) as my_new_column
FROM my_table a
無需加入或取消嵌套。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.