我有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
该查询应该是什么样的?
答案 0 :(得分:1)
如果需要多个最终结果,合并多行需要aggregation function(以及GROUP BY
子句。
对于这种情况,string_agg
是要使用的。
e.g。
Select string_agg(id2, ', ') as connections from table where id1=1 group by id1