我有一个输入数据,其中包含 ID、上一个、当前和下一个节点(未排序)。
我必须在每个 ID 的第一页和最后一页之间找到一条路径,该路径涵盖了遍历的所有节点。
例如:如果我的输入数据是这样的:
第一列是 ID,第二列是 prev_node,第三列是当前节点,第四列是下一个节点。
Prev_node 将是空的起始值,下一个节点将是空的最后一个值  
输入
id  prev  current  next     
------------------------
1    a      b       c  
1    a      e       f  
1    a      b       g  
1    a      b       o    
1    b      c       d  
1    b      g       h  
1    b      o       p  
1    c      d       a  
1    c      b       g  
1    d      a       e  
1    e      f       e  
1    e      f       f  
1    f      e       f  
1    f      f       f  
1    f      f       a  
1    f      a       b  
1    g      h       i  
1    h      i       j   
1    h      j       i  
1    i      j       i  
1    i      i       k  
1    i      k       l  
1    j      i       i  
1    k      l       m  
1    l      m       n  
1    l      n       a  
1    m      n       a  
1    n      a       b  
1    o      p       q  
1    p      q       r  
1    q      r       s  
1    r      s       t  
1    s      t       u  
1    t      u       v  
1    u      v       w  
1    v      w       x  
1    w      x         
1           a       b  
输出应该是当前节点的路径,例如 -
ID    current  
-------------
1       a  
1       b  
1       c  
1       d  
1       a  
1       e  
1       f  
1       e  
1       f  
1       f  
1       f  
1      a  
1      b  
1      b  
1      g  
1      h  
1      i  
1      j  
1      j  
1      i  
1      i   
1      k  
1      l  
1      m  
1      n  
1      n  
1      a  
1      b  
1      o  
1      p  
1      q  
1      r  
1      s  
1      t  
1      u  
1     v  
1      w  
1      x  
这里会有很多类似数据的ID。我只显示了一个 ID(1)。同样在这里,我使用了实际上是 200-500 个字符长的字符串的字母。我尝试了几乎没有修改的 SQL 方法,如果 ID 的行数为 100 或以下,但它会为更多行提供字符串连接错误(即使在将长字符串转换为数字之后)。任何人都可以建议一种基于稳健程序的方法。我尝试了一些,但它不适用于超过 300 行的 ID。