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

查询列表中嵌套JSON数据:提取指定displayId对应的name值

解决SQL语法错误并提取目标数据

问题分析

你原SQL的错误在于:

  • 使用lateral view explode展开数组时,必须为展开后的单个元素指定别名,不能直接用原数组列registered访问子字段
  • 过滤条件应该针对展开后的元素别名,而非原数组列

正确查询语句

select r.name
from schoolList
lateral view explode(registered) tmp as r
where r.displayId = 16;

语句说明

  1. lateral view explode(registered) tmp as r:将registered列的JSON数组展开为多行,每个数组元素被命名为r,tmp是该侧视图的别名(可省略,但保留更规范)
  2. where r.displayId = 16:过滤出展开后元素中displayId等于16的记录(如果你的displayId是字符串类型,再添加单引号'16')
  3. select r.name:提取符合条件的name字段,最终得到预期的"Dan"、"George"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:57:37