MySQL存储过程设计问题V2。回避还是等级制度?

MySQL存储过程设计问题V2。回避还是等级制度?,mysql,stored-procedures,recursion,hierarchy,Mysql,Stored Procedures,Recursion,Hierarchy,假设我们有一个名为Connected的表,其中列node_1和node_2,都是整数类型,其中包含一些数据 看起来是这样的: `node_1` `node_2` A B C D B C B F C W D N D Q . . . Much much much more .

假设我们有一个名为
Connected
的表,其中列
node_1
node_2
,都是整数类型,其中包含一些数据

看起来是这样的:

`node_1`  `node_2` 
    A        B
    C        D
    B        C
    B        F
    C        W
    D        N
    D        Q

        .
        .
        .  Much much much more
        .  
`node_1`  `node_2` 
    A        B
    A        C
    A        D
    A        F
    A        N
    A        Q
    A        W
    B        C
    B        D
    B        F
    B        N
    B        Q    
    B        W
    C        D
    C        N
    C        Q
    C        W
    D        Q
    D        N                      
我要做的是展开这个表,然后收集所有关系。例如,如果我们可以通过路径“A-B-C-D-Q”(由旧表“A-B,B-C,C-D,D-Q”定义)从“A”移动到“Q”,我们就说“A”和“Q”可以连接,并将这对插入到新表中

因此,结果表应如下所示:

`node_1`  `node_2` 
    A        B
    C        D
    B        C
    B        F
    C        W
    D        N
    D        Q

        .
        .
        .  Much much much more
        .  
`node_1`  `node_2` 
    A        B
    A        C
    A        D
    A        F
    A        N
    A        Q
    A        W
    B        C
    B        D
    B        F
    B        N
    B        Q    
    B        W
    C        D
    C        N
    C        Q
    C        W
    D        Q
    D        N                      
我感谢所有的帮助

将“节点”一词改为“组”, “连接”到“包含”,是吗 听起来更合理?我为我的错误感到抱歉 gramma或任何其他相关语言 问题:)


与我的另一个解决方案相同,只需在字符周围使用ASCII()将其ASCII值转换为SELECT中的值


另外,由于我们在另一个问题中的对话。我得到的印象是,你真的很满足于为这个问题找到一个必要的解决方案。请记住,SQL是一种声明性语言。

如果您有相当多的节点,并且它们之间的跳数(平均)不止几跳,那么您将得到一个巨大的表。大量链接的最坏情况(我猜)是
n记录。