重複の可能性:
MySQL 再帰ツリー検索
連絡先検索オプションを入れているので、ユーザーは連絡先を最大 10 レベルまで検索できます。自分の連絡先の連絡先、彼の連絡先などを最大 10 レベルまで検索できます。
あまりにも多くのSQL結合で実行できますが、より良い解決策があるかどうか知りたいです
ありがとう
編集:スキーマは次のとおりです
ユーザー テーブル ID、ユーザー名
連絡先テーブル ID、user_id、contact_id
user_id と contact_id の両方が User テーブルの FK です。
連絡先を取得するための 1 レベルまでの簡単なクエリを次に示します。
SELECT * FROM users LEFT JOIN contacts
ON users.id = contacts.user_id
WHERE users.id = MY_USER_ID