我想检查一个值是否存在于数组中,如果不存在,我想为它返回一个空行,而不是没有行。
SELECT
users.id
FROM
users
WHERE
users.name = ANY('{ John, avocado, Carl }'::text[]);
当前返回
id
1
2
我想把它还回去。
id
1
NULL
2
因为我们的users
表中不存在avocado
。
发布于 2019-07-16 02:59:17
SELECT users.id
FROM unnest('{John, avocado, Carl}'::text[]) WITH ORDINALITY AS a(name, num)
LEFT JOIN users USING (name)
ORDER BY a.num;
id
----
2
1
(3 rows)
https://stackoverflow.com/questions/57045621
复制相似问题