Postgresql查询遍历节点/链接表

时间:2014-03-28 11:14:29

标签: sql postgresql

假设我有两个表,称为“节点”和“链接”。 (简化示例,但实际上这些是沿着铁路轨道的节点)。

“节点”表的示例:

NodeID Xcoord Ycoord
------ ------ ------
  21   2.010  -1.500
  22   
  23   
  24   
  25
  26   2.050  -1.500

“链接”表的示例:

LinkID StartNode EndNode
------ --------- ------
  1    21        22
  2    22        23 
  3    23        24
  4    24        25
  5    25        26

如您所见,并非所有节点都具有已知位置(xcoord& ycoord)。

假设我选择了一个没有位置的节点,例如NodeID 23。

我想要做的是在两个方向上遍历链接表,直到找到每个方向上具有已知位置的下一个节点。

因此,如果我使用NodeID 23,我想要一个遍历链接表并返回21和26的NodeID的查询。

使用Postgres可以吗?

不是SQL专家;无法理解如何通过这样的表来递归。

任何例子都会感激不尽! 提前谢谢。

0 个答案:

没有答案