SQLSERVER - 计算网络图中的节点循环

时间:2021-03-18 10:22:08

标签: sql sql-server tsql recursion common-table-expression

我有一个表,其中包含“节点”之间的所有“边”,并具有“从节点到节点”的关系。

表节点如下所示:

CREATE TABLE Nodes(
  Id VARCHAR(10) PRIMARY KEY,
  Name VARCHAR(50)
)

CREATE TABLE Edges(
  Id VARCHAR(100) PRIMARY KEY,
  FromId VARCHAR(10),
  ToId VARCHAR(10)
)

这些表格用于描述网络图表,如图像中所示。

enter image description here

我必须创建一个递归查询,以便获取所有节点通过“FROM”节点的路径 并到达“TO”节点。 我还必须避免像黄色矩形中突出显示的那样的无限循环。

所以基本上蜘蛛必须检查所有节点的可用路径,跟踪节点 它已经通过,然后继续直到到达“TO”节点。

然后,一旦我拥有了所有的路线,我需要测试一下有哪些路线 通过 FROM 路径到达目的地。

我如何通过查询来做到这一点?

感谢支持

0 个答案:

没有答案
相关问题