postgresql:选择返回数组

postgresql:选择返回数组,sql,arrays,postgresql,Sql,Arrays,Postgresql,我有一张桌子: CREATE TABLE tbl_temp (id serial, friend_id int, name varchar(32)); 我希望可以运行以下SQL: PREPARE x AS SELECT {$1,friend_id} FROM tbl_temp WHERE id = ANY($2); EXECUTE x(33, ARRAY[1,2,3,4]) 我基本上是在寻找一条语句,该语句将返回两个int的数组,第一个int是用户输入,第二个int来自表列,如fri

我有一张桌子:

CREATE TABLE tbl_temp (id serial, friend_id int, name varchar(32));  
我希望可以运行以下SQL:

PREPARE x AS SELECT {$1,friend_id} FROM tbl_temp WHERE id = ANY($2);  
EXECUTE x(33, ARRAY[1,2,3,4])
我基本上是在寻找一条语句,该语句将返回两个int的数组,第一个int是用户输入,第二个int来自表列,如
friend\u id

在PostgreSQL中真的可能吗

tbl_temp中选择($1,朋友id)的结果

EXECUTE x(44);
  row     
--------  
 (44,1)  
 (44,2)  
 (44,3)  
(3 rows)

如果我使用
PQgetvalue(PGres,0,0)
结果会是什么样子:
{44,45}
或类似
(44,45)

我不确定我是否理解您想要的

要返回数组,请执行以下操作

SELECT (44, "friend_id") FROM "tbl_temp" WHERE id = ANY(ARRAY[1,2,3,4]);

我想您应该使用:


谢谢你的回复。实际上,我在tbl_temp中寻找类似于
selectarray[$1,friend\u id],其中id=ANY($2)
。。。从mu那里买的太短了
SELECT ARRAY[$1, friend_id] FROM tbl_temp WHERE id = ANY($2)