2012-02-16 14 views
3

すべてのアイテム(mySQL)の親ディレクトリを見つける方法はありますか? (そこ階層のレベルの無限の量...ない最高のデザインは、潜在的ですが、その私が働いているものを)同じテーブルのSQL再帰で親を見つける

ID  PARENTID NAME 
9146 NULL  thing1 
9147 NULL  thing2 
9148 9146  thing3 
9149 9148  thing4 
9150 NULL  thing5 
9151 9149  thing6 
9152 9147  thing7 

出力は次のようになります。

ID  REAL_PARENTID 
9146 NULL (or self 9146) 
9147 NULL (or self 9147) 
9148 9146 
9149 9146 
9150 NULL (or self 9150) 
9151 9146 
9152 9147 
+0

トップの親になる必要がありますか、階層の親のワンアップになる必要はありますか?心配しないで、私はあなたがトップに到達する必要があることがわかります。 –

+1

この質問への答え:http://stackoverflow.com/questions/3704130/recursive-mysql-queryはあなたに役立つはずです。 –

+0

あなたの例は不明です。投稿されたデータから、あなたが探しているのは、*ちょうど* SELECT ID、PARENTIDのテーブルのようです。何が問題ですか ? –

答えて

1

私は実際にMySQLストアドプロシージャプログラミングを使用してツリートラバーサルをスクリプト化しました。

私はDBA StackExchange back in Oct 24, 2011でこのような質問に答えました。サンプルデータも含まれています。

楽しんでください。

0

することができますそれを行う方法を学ぶためにこの簡単に使用してSQL CTEテーブル(再帰クエリ)

チェック次の操作を行います。

http://msdn.microsoft.com/en-us/library/ms186243.aspx

+2

これはmysqlです... :) http://stackoverflow.com/questions/1382573/how-do-you-use-the-with-clause-in-mysql – Asken

関連する問題