如何在postgresql中使用逗号分隔值连接两个表

时间:2018-01-31 11:56:35

标签: postgresql join subquery

我有下面的结构化表格。

ID QUESTION user_IDS
1   xyz ?    1,2,3
2   abc ?    4,5

在这里,我想从用户表中取用用户名而不是ids。我使用postgresql作为数据库。

渴望出局应该是

ID QUESTION users( from user table)
1   xyz?    mr.a, mr.b, mr.c
2   abc ?   mr.u, mr.y

任何形式的帮助将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以将逗号分隔列表转换为数组,然后在连接条件中使用它:

select q.id, q.question, string_agg(u.name, ',') as users
from questions q
  join users u on u.id = any(string_to_array(user_ids,',')::int[])
group by q.id;

在线示例:http://rextester.com/ZWU18098