【巨杉数据库Sequoiadb】如何使用sql查询嵌套的数据类型

【问题详细描述】
见图select.png中的数据,图中的PageSize属于数组内部的数据,现在只需要将PageSize查询出来。也就是使用sql进行查询嵌套数据的查询。

【检视意见】
1、已经解决的问题单,“解决结果”标记为“已解决”
2、“问题描述”中不要只是简单如图所示,尽量将图片的中问题描述出来
3、“解决方法”中不要简单的如图所示,用文字进行描述,图片中的语句可以

当作示例进行介绍;涉及到官方的文档中的知识点可以将链接贴出来
4、个人需要了解该查询命令为什么这样写,方便以后灵活应用

【解决办法】
1、直接查询
根据图select.png中的数据可以得出查询语句:db.exec(“select T.Details.$[0].PageSize from S N A P S H O T C L a s T w h e r e T . N a m e = &quot; m y . m y &quot; g r o u p b y T . N a m e &quot; ) 。 查 询 结 果 可 见 图 s o l v e 1. p n g 。 这 里 需 要 注 意 的 是 语 句 当 中 a s 别 名 的 使 用 以 及 读 取 数 组 内 数 据 的 操 作 。 a s 别 名 的 使 用 范 围 : 如 果 查 询 源 不 为 集 合 , 则 本 层 查 询 中 所 有 字 段 均 需 要 引 用 别 名 ( ∗ 除 外 ) , 例 如 : s e l e c t T . a , T . b f r o m ( s e l e c t ∗ f r o m f o o . b a r ) a s T w h e r e T . a &lt; 10 。 详 细 可 见 : ( 1 ) s e l e c t 的 用 法 : h t t p : / / d o c . s e q u o i a d b . c o m / c n / S e q u o i a D B − c a t i d − 1432190960 − e d i t i o n i d − 0 。 ( 2 ) a s 的 用 法 : h t t p : / / d o c . s e q u o i a d b . c o m / c n / i n d e x − c a t i d − 1432190968 − e d i t i o n i d − 300 。 数 组 内 数 据 的 读 取 方 式 : 使 用 &quot; 数 组 名 . SNAPSHOT_CL as T where T.Name = &quot;my.my&quot; group by T.Name &quot;)。 查询结果可见图solve1.png。 这里需要注意的是语句当中as别名的使用以及读取数组内数据的操作。 as别名的使用范围:如果查询源不为集合,则本层查询中所有字段均需要引用别名(* 除外),例如:select T.a , T.b from (select * from foo.bar) as T where T.a &lt; 10 。 详细可见: (1)select的用法:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190960-edition_id-0。 (2)as的用法:http://doc.sequoiadb.com/cn/index-cat_id-1432190968-edition_id-300。 数组内数据的读取方式:使用&quot;数组名. SNAPSHOTCLasTwhereT.Name="my.my"groupbyT.Name")solve1.pngas使as使selectT.a,T.bfrom(selectfromfoo.bar)asTwhereT.a<101selecthttp://doc.sequoiadb.com/cn/SequoiaDBcatid1432190960editionid02ashttp://doc.sequoiadb.com/cn/indexcatid1432190968editionid300使".[index]”,index为下标。例如T.Details. [ 0 ] 就 是 表 示 D e t a i l s 数 组 的 第 一 个 元 素 。 详 细 可 见 : ( 1 ) 数 组 : h t t p : / / d o c . s e q u o i a d b . c o m / c n / i n d e x − c a t i d − 1519612291 − e d i t i o n i d − 300 。 ( 2 ) [0]就是表示Details数组的第一个元素。 详细可见: (1)数组:http://doc.sequoiadb.com/cn/index-cat_id-1519612291-edition_id-300。 (2) [0]Details1http://doc.sequoiadb.com/cn/indexcatid1519612291editionid3002+标识符的使用:http://doc.sequoiadb.com/cn/index-cat_id-1432190918-edition_id-208。
2、使用split by 将数组拆分后查询
查询语句:db.exec("select K.Details.PageSize as PageSize from (select * from $SNAPSHOT_CL as T where T.Name = “my.my” split by T.Details) as K ")。
查询结果可见图solve2.png。
使用split by先将数组拆分,然后直接使用"数组名.要查询的字段名"即可查询到相关信息。
详细可见:
(1)split by的用法:http://doc.sequoiadb.com/cn/index-cat_id-1432190965-edition_id-300。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【注意】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利! 基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值