You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery中使用UNNEST展平数组时重复常规列的方法

解决BigQuery展平结构体数组时重复常规列的问题

你的问题出在没有正确引用UNNEST后的数组元素,原查询直接选择了原表的array列,导致结果不符合预期。修改方式如下:

正确的查询写法

SELECT
  col_a, col_b, struct_element
FROM
  `your-project.your-dataset.table`,
  UNNEST(array) AS struct_element

关键说明

  1. 用UNNEST(array) AS struct_element给展开后的结构体元素指定别名,在SELECT中引用这个别名就能获取数组里的每个元素。
  2. 逗号连接原表与UNNEST(array)本质是执行交叉连接(CROSS JOIN),原表的每一行会和自身数组的每个元素配对,因此col_a和col_b会自动在每一行重复显示。

若需展开结构体的具体子字段

如果结构体包含field1、field2等子字段,可直接拆解:

SELECT
  col_a, col_b, struct_element.field1, struct_element.field2
FROM
  `your-project.your-dataset.table`,
  UNNEST(array) AS struct_element

内容的提问来源于stack exchange,提问作者Gallow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 12:20:31