我有一个有 14 个节点的网络。(比如 1 -14)我不知道如何显示网络,但我可以提供包含网络信息的数据库表。网络信息如下:
连接到节点的节点 1 2,5 2 1,3,4,5 3 2,4 4 2,3,5 5 1,2,4 6 5,11,12 7 4,8,9 8 7 9 4,7,10,14 10 9,11 11 6,10 12 6,13 13 12,14 14 9,13
现在,在这种情况下,我需要距离节点 8 2 跳的所有节点的信息(假设)
节点 8 - 节点 7(第一跳) 节点 7 - 节点 4,8,9(第二跳)
因此,解决方案是“ node4 和 node9 距离 node8 2 跳。
是否有有助于解决此问题的 SQL 查询?它可能不会一直只有 2 跳。给定一个问题为 3 跳,我们需要进一步我们的步骤:
node4,8,9 连接到 2,3,5,7,4,10,14
因此,解决方案是 2、3、5、7、10、14(我们排除了 4,因为它已经距离 node8 2 跳,我们将考虑最短路径)距离 node8 3 跳。
是否有 SQL 查询可以处理上表的这种情况?如果我不清楚任何事情,请告诉我?