在postgresql中将值提取到逗号分隔的字符串中

时间:2015-11-04 14:44:39

标签: sql postgresql postgresql-9.1

这应该很简单。像

这样的查询
SELECT code_id FROM code WHERE status = 1

通常会给出像

这样的结果
code_id
10
11
12

但我的目标是获取像

这样的字符串
10,11,12

为了在其他查询中使用它

SELECT x FROM table WHERE status in (10,12,13)

优先于同一查询。这可能是使用"标准" Postgresql没有添加额外的扩展名?

到目前为止,所有内容都使用了标准不可用的扩展程序。

提前致谢。

2 个答案:

答案 0 :(得分:4)

您使用的任何工具只是为了方便而向您显示这样的数据。但您也可以在subquery中使用结果集,例如

SELECT x FROM table WHERE status in (
    SELECT code_id FROM code WHERE status = 1
)

答案 1 :(得分:3)

您可以尝试这种方式将结果以逗号分隔

  
    

但我的目标是获取像

这样的字符串   
SELECT string_agg(code_id, ',') FROM code WHERE status = 1