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

BigQuery中如何拆分RECORD下的Repeated String列为多行?

BigQuery拆分嵌套重复字段为多行记录

你原SQL的问题在于二次UNNEST时未正确关联层级,且未给展开后的标签字段指定别名,导致输出不符合预期。以下是正确的写法:

方式一:隐式CROSS JOIN UNNEST(BigQuery简化写法)

SELECT 
  a.id,
  tag
FROM 
  ticket_table a,
  UNNEST(a.child_events) AS child_event,
  UNNEST(child_event.tags) AS tag
WHERE 
  a.id = 15927

方式二:显式CROSS JOIN写法(逻辑更清晰)

SELECT 
  a.id,
  tag
FROM 
  ticket_table a
CROSS JOIN UNNEST(a.child_events) AS child_event
CROSS JOIN UNNEST(child_event.tags) AS tag
WHERE 
  a.id = 15927

这两种写法都会先展开child_events这个重复RECORD字段,再对每个展开的子记录中的tags重复字符串字段进行二次展开,最终得到每个id对应单个tag的多行记录,符合预期输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:04:54