PostgreSQL 与数组类型的连接:对数组元素进行排序
在 PostgreSQL 中,经常需要连接具有数组类型列的表。然而,在处理数组类型时,维护元素的顺序可能具有挑战性。
问题:
目标是按顺序从 items 表中检索数据some_chosen_data_in_order 中的数组类型列 id_items 中的元素的数量
尝试:
不成功的尝试包括使用 JOIN 和子查询方法,这些方法无法保留数组元素的顺序。
解决方案:
解决方案涉及使用unnest() 函数,返回数组中的各个元素。通过使用 LEFT JOIN 并将 unnest() 应用于 id_items,我们可以按所需顺序获取项目。
示例:
SELECT t.* FROM unnest(ARRAY[1,2,3,2,3,5]) item_id LEFT JOIN items t on t.id=item_id
此查询将选择items 表中的项目 ID 为:1,2,3,2,3,5,按顺序排列。
以上是在 PostgreSQL 中连接表时如何保留数组元素顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!