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

SQL多层嵌套变量展开:如何提取含多数组的UplinkCapacity

提取多层嵌套数组中的UplinkCapacity字段值

我之前也碰到过类似的多层嵌套数组提取问题,这种情况确实不能只靠一次UNNEST解决,得逐层把嵌套的数组展开才行,给你分享个具体的解决思路和示例:

核心思路

因为你的目标字段UplinkCapacity藏在多层嵌套数组里,所以需要针对每一层数组结构依次使用UNNEST,把每一层的数组元素展开成独立的行,直到能直接访问到目标字段为止。

具体SQL示例

假设你的表名为your_table,嵌套结构是:AirmaxStatus → Wireless(数组)→ Sta(数组)→ Airmax(数组)→ UplinkCapacity,对应的查询语句可以这么写:

SELECT
  -- 如果需要保留原表的其他字段,直接在这里添加即可
  airmax.UplinkCapacity
FROM
  your_table,
  -- 展开第一层嵌套数组 Wireless
  UNNEST(AirmaxStatus.Wireless) AS wireless,
  -- 展开第二层嵌套数组 Sta
  UNNEST(wireless.Sta) AS sta,
  -- 展开第三层嵌套数组 Airmax
  UNNEST(sta.Airmax) AS airmax

额外说明

  1. 如果某一层是结构体而非数组:比如如果Airmax是结构体(不是数组),那这一层就不需要UNNEST,直接用sta.Airmax.UplinkCapacity访问即可。
  2. 避免丢失原表数据:如果某些行的嵌套数组为空,用逗号连接UNNEST会过滤掉这些行。如果想保留所有原行,可以改用LEFT JOIN UNNEST:
SELECT
  original_column,
  airmax.UplinkCapacity
FROM
  your_table
LEFT JOIN UNNEST(AirmaxStatus.Wireless) AS wireless
LEFT JOIN UNNEST(wireless.Sta) AS sta
LEFT JOIN UNNEST(sta.Airmax) AS airmax

这样就能顺利提取到你需要的UplinkCapacity字段值啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:12:29