主要函数unnest

unnest:将数组转为临时表,例子如下

select unnest(Array[1,2,3]) as a;
 a
---
 1
 2
 3
(3 rows)

现有复合类型数组字段的表如下
在这里插入图片描述
复合类型如下
在这里插入图片描述
表关系结构为:一个地方有多个不同语言的名字,既有英文名也有中文名

select guid,name
from (
select b.guid, (unnest(b.复合类型数组字段)).name  as name 
from 表1 a
left join 表2 b on a.meta_guid = b.guid
) c 
where name like '%名字2%'

查询结果如下
在这里插入图片描述

根据复合类型集合中的一个字段名来查该行数据

select * 
from 表1
where EXISTS(
SELECT name from unnest(表1的复合类型集合字段)
where name = '名字1'
)

结果如下
在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐