数组中每个元素的 SQL 选择语句

问题描述

我在服务器上有一个 SQL 表,有两个列,short_names 和 long_names,如下所示:

Short | Long
________________
Max   | Maximilian
Tom   | Thomas

我得到了一个任意的短名称数组,需要生成一个匹配的长名称数组。我知道如何使用多个 select 语句来做到这一点,但我认为最好输入给定短名称的列表并接收一个列表,以便我可以最大限度地减少发送到服务器的请求。除了基本的连接,我对 SQL 不太熟悉,所以希望有人能给我一些指点。语言可以是plpgsql或标准sql。

我想代码可能是这样的:

CREATE FUNCTION get_long_names(short_names TEXT[])
RETURNS TEXT[] AS
$$
BEGIN
    -- For every element in short_names
    -- SELECT long FROM mytable WHERE short == element
    -- Put whatever is selected in array that is being returned
END
$$
LANGUAGE plpgsql;

但我不知道在中间放什么!非常感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)