我有2个数据库表,节点和边缘。节点表的ID是主键,边缘表有2列,id1和id2,这些是nodes.id的外键。这应该代表(一个边缘包含两个节点)PostgreSQL连接查询
节点之间的连接。如果边缘表包含例如
id1 id2
1 3
1 5
2 5
我需要一个查询的是,当I型1,PG应该在单细胞3,5-返回。类似这样的:
connections
3,5
那个查询应该是什么样的?
我有2个数据库表,节点和边缘。节点表的ID是主键,边缘表有2列,id1和id2,这些是nodes.id的外键。这应该代表(一个边缘包含两个节点)PostgreSQL连接查询
节点之间的连接。如果边缘表包含例如
id1 id2
1 3
1 5
2 5
我需要一个查询的是,当I型1,PG应该在单细胞3,5-返回。类似这样的:
connections
3,5
那个查询应该是什么样的?
合并多行需要aggregation function(如果需要多个最终结果,则需要GROUP BY
子句)。
对于这种情况,string_agg
是一个使用。
例如
Select string_agg(id2, ', ') as connections from table where id1=1 group by id1
如果数据还有一行值为1,6,那么结果是什么? –