根据 ARRAY 元素对结果进行排序?

Sort the result according to the ARRAY elements?

我有以下查询:

 SELECT id,word FROM map
 WHERE id::integer in (SELECT unnest(ary) FROM abc WHERE id = 11)

问题是结果的顺序是随机的。

我想要的是按照 ARRAY“ary”的内容定义的顺序出现的结果

我该怎么做?

我会先取消嵌套,然后按照给定的顺序,将在 id 列上加入其他表:

SELECT
     id,
     word
FROM (
     SELECT
         unnest(ary) as id
     FROM
         abc
     WHERE
         id = 11
) a JOIN map
USING
     (id)