2011-09-14 8 views
0

これはどのように言いたいのかわからないので、 "似たような質問"と検索がうまくやっています。MySqlとPHP - より低い値に基づいて "ツリー"のトップ値を取得

私はユーザーのテーブルを持っており、各ユーザーには組織内のどこに基づいて "レベル"が割り当てられています。チャート。それはセールスベースなので...売り手、セールスマネージャー、リージョナルマネージャーなどがあります。私がデータベースをセットアップする方法は、user_idとmanager_user_idをペアにしてジョインテーブルを作成することです。したがって、IDが4の販売者はIDが12のマネージャーとペアになり、12はIDが34の地域マネージャーと照合されます。

私がしたいのは、下位の売り手のIDに基づいて一番上のマネージャの情報を取得することです。上記の例では、ID#4を入力してuser_id 34の情報を取得します。

私はループを実行でき、行が返されなくなるまでmanager_user_idを返すことができます。クエリ。これを達成できる単一のクエリはありますか?

これまで同様の質問がされている場合は、それも素晴らしいでしょう。ありがとう!

+0

http://dev.mysql.com/tech-resources/articles/hierarchical-data.html –

+1

@Dagon broken link。しかし、これを試してみてください:http://ftp.ntu.edu.tw/MySQL/tech-resources/articles/hierarchical-data.html – Shackrock

答えて

-1

あなたが記述しているデータベース構造ではありません。完全な機能を備えたDBMSを使用すると、再帰的なクエリを実行できますが、MySQLにはこの機能がありません。ストアドプロシージャを記述することで、アプリケーションから発行された単一のSQL文(DBMSによって処理される最上位のマネージャを決定するロジック)を使用して最上位のマネージャを取得することができます。

+0

回答をダウン状態にしてください。 – Hammerite

関連する問題