PHP で簡素化されたソーシャル ネットワーキング サイトを構築しています。myfriends テーブルと friends テーブルの 2 つのテーブルがあります。
myfriends テーブルにはfriend_id1
とfriend_id2
列があります。Friends テーブルにはfriend_id
、profile_name
およびemail
列があります。
myfriends テーブルは 2 人の友人をリンクします。双方向ではなく、一方向の関係を想定します。これは、friend_id1 には友人の friend_id2 があることを意味しますが、その逆はありません。
説明するために、メンバーを 4 人だけ取りましょう1001,1002,1003,1004
1001 が 1002 と 1003 を知っている (そしてその逆も想定している) が、1002 と 1003 がお互いを知らず、1004 が誰も知らない場合、myfriends テーブルには次のエントリが含まれます。
(1001,1002),(1001 ,1003),(1002 ,1001),(1003, 1001)
友達ではないすべての人を取得するクエリが必要です。これは、すべての友達を取得するために思いついたクエリです。friend_id は、友達table.myfriends
テーブルの主キーであり、主キーはありません。
SELECT friends.profile_name
FROM friends
INNER JOIN myfriends ON friends.friend_id=myfriends.friend_id1
WHERE myfriends.friend_id2='$friendID'";
質問が皆さんにとって明確であることを願っています。