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

多列UNNEST关联OFFSET报错:Duplicate alias offset found问题

解决UNNEST关联多列时的OFFSET匹配报错问题

问题核心

你要按逗号拆分多列,通过OFFSET关联保证拆分后各列的对应关系,但关联超过2列时SQL报错,直接原因是未给所有需要关联的UNNEST子句添加with offset声明,且连续JOIN的语法不规范。

错误SQL的问题点

原SQL里第三个unnest(split(Colm_D)) Colm_D没加with offset,导致无法通过using(offset)和前两个UNNEST的OFFSET字段关联,这就是报错的根源。

修正后的SQL

select Colm_A, Colm_B, Colm_C, Colm_D
from your_table
cross join unnest(split(Colm_B)) Colm_B with offset
join unnest(split(Colm_C)) Colm_C with offset using(offset)
join unnest(split(Colm_D)) Colm_D with offset using(offset);

关键说明

  • 所有需要通过OFFSET关联的UNNEST必须显式加with offset,才能生成用于匹配的OFFSET字段
  • 用using(offset)让拆分后的各列按相同偏移位置一一对应,保证每行数据的关联性
  • 第一个UNNEST用cross join(或省略关键字的隐式交叉连接),后续通过JOIN关联其他拆分列

验证结果

基于你提供的源表:

Colm_AColm_BColm_CCOL_D
1FishFH
2Dog,catD,CG,T

执行修正后的SQL,会得到预期输出:

Colm_AColm_BColm_CColm_D
1FishFH
2DogDG
2CatCT

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 07:17:49