PostgreSQL连接查询

时间:2017-05-25 14:25:09

标签: sql postgresql

我有2个db表,节点和边。节点表的id是主键,而edge表有2列,id1和id2,这些是nodes.id的外键。这应该表示节点之间的连接(一个边包含两个节点)

如果edge表包含例如

id1  id2
1     3
1     5
2     5

我需要一个查询,当我输入1时,pg应该在单个单元格3,5中返回。像这样:

connections
3,5

该查询应该是什么样的?

1 个答案:

答案 0 :(得分:1)

如果需要多个最终结果,合并多行需要aggregation function(以及GROUP BY子句。

对于这种情况,string_agg是要使用的。

e.g。

Select string_agg(id2, ', ') as connections from table where id1=1 group by id1