MLMのチームメンバーの階層を一覧表示するテーブルがあります。PHPで結果を出力できるように、MySQLで最も効率的にテーブルをクエリする方法を見つけようとしています。
研究で、ネストされたクエリまたはPHPwhile
ループ内のネストされたクエリは理想的ではないことを学びましたが、MySQL結合を見ると、情報に正しくアクセスする方法がわかりません。
テーブル値(テーブル名はMLM):
ID Upline FName
1 1 Joe (he is at the top of the hierarchy)
2 1 Jane (Jane is directly under Joe)
3 2 Jack
4 3 Jill
ジョーの下で報告しているこれらすべての人々の名前を見つけるために?
Select FName from MLM where Upline = 1;
and
Select FName from MLM where Upline in (Select FName from MLM where Upline = 1);
and
Select FName from MLM where Upline in (Select FName from MLM where Upline in (Select FName from MLM where Upline = 1));
これを開始するのは良くありません。また、Joeの下にいくつのレベルがあるかわからないため、スケーラブルではありません。
mysql_fetch_array
この情報をクエリする方法、またはPHPをwhileループで組み合わせてすべての値を見つけてエコーする方法を教えてください。