2011-07-06 10 views
1

Connectedという名前のテーブルがあり、カラムがnode_1node_2で、整数型とその中にいくつかのデータがあるとします。MySQLストアドプロシージャ設計の問題V2。 RecusionまたはHierarchy?

それは次のようになります。

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

     . 
     . 
     . Much much much more 
     . 

何イムがやろうとすると、このテーブルを展開し、すべての関係を収集しています。例えば、 'AB'、 'AB、BC、CD、D-Q'で定義されているパス 'ABCDQ'を使って 'A'から 'Q'に移動できる場合、 'A'と 'Q'このペアを新しいテーブルに挿入することができます。

、結果表は次のようになります必要があることをこのような

`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または他の言語関連の problemssss :)私の他の解決策として

+0

かなりの数のノードがあり、それらの間に数ホップ(平均)以上のホップがある場合、1つの気高い巨大なテーブルで終わることになります。親切なリンケージの最悪のケース(私が推測している)は 'n! 'レコードになります。 –

答えて

0

同じ申し訳ありませんイムは、ちょうどSELECTでのASCII値にキャラクターの周りに()ASCIIを使用します。

MySQL Stored Procedure Design Problem. Recusion or Hierarchy?

PS。他の質問の私たちの会話のために。私の印象は、このために不可欠な解決策を見つけることの本当の内容です。 SQLは宣言型言語であることを覚えておいてください。