arrays - PostgreSQL - 左连接数组的最后一项

标签 arrays postgresql

我在 Postgres 中有下表:

         Column          |            Type             |                   Modifiers                    
-------------------------+-----------------------------+------------------------------------------------
 id                      | uuid                        | not null
 name                    | character varying(255)      | not null
 parent_organization_ids | uuid[]                      | not null default '{}'::uuid[]

parent_organization_ids 列包含一个数组,其中包含该组织的所有父层次结构,首先是根,最后一项是当前行的父级(如果存在)。

我需要做一个查询来显示当前行的信息,然后做一个左连接来显示当前行的父名称。

我该怎么做左连接?

是否有其他方法可以做到这一点?

最佳答案

解决了以下问题:

SELECT org.name, parent.name
FROM organizations org
LEFT JOIN organizations parent on 
org.parent_organization_ids[array_upper(org.parent_organization_ids, 1)]=parent.id;

关于arrays - PostgreSQL - 左连接数组的最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29905913/

相关文章:

java - 用户将字母插入数组并控制输入Java是否有重复和顺序

javascript - 迭代嵌套对象并使用 Lodash 连接到字符串

postgresql - 根据通配符键查询嵌套json

postgresql - 如何在不嵌套输出的情况下在 Sequelize 中包含模型

c - 数组结果在 while 循环内是正确的,但在循环外被破坏了

javascript - 将数组数据从 PHP 传递到 Javascript

c - 如何用空格填充未初始化的数组元素? C

PostgreSQL 子查询总数和百分比

PostgreSql + 日期格式YYYY-MM-DD转日、日月年

sql - 如何将纬度、经度坐标转换为postgis地理类型