首页 > 解决方案 > 从 BQ 中的结构数组中选择结构

问题描述

我有一个表,其中一列定义为:

my_column ARRAY<STRUCT<key STRING, value FLOAT64, description STRING>>

是否有一些简单的方法可以指定要在SELECT语句中返回的参数列表?例如删除description,因此结果列仍然是结构数组,但仅包含keyand value

标签: sqldata-structuresgoogle-bigquery

解决方案


以下是 BigQuery 标准 SQL

#standardSQL
SELECT * REPLACE(
  ARRAY(
    SELECT AS STRUCT * EXCEPT(description)
    FROM UNNEST(my_column)
  ) AS my_column)
FROM `project.dataset.table`  

以上完全保留了表的模式,并且仅通过删除描述更改 my_column 字段


推荐阅读