私は3つのテーブルを持っています-1-FriendShip、2-Users、3-Pages。フレンドシップテーブルには、fromUser列とtoUser列があります。fromUser列には、友達リクエストを開始したユーザーが含まれます。toUserには、友達リクエストを受け取った人が含まれます(Facebookからインスピレーションを受けています)
特定のユーザー、たとえば「user1」と友達であるPagesテーブルからデータを選択したいと思います。このクエリを使用して、user1の友達を取得できます。
SELECT friends.`fromUser` AS `friend`
FROM friends
INNER JOIN users
ON friends.`fromUser` = users.`userid`
WHERE `friends`.`toUser`='user1'
UNION
SELECT friends.`toUser` AS `friend`
FROM friends
INNER JOIN users
ON friends.`toUser` = users.`userid`
WHERE friends.`fromUser`='user1'
これにより、次のような結果が得られます。
友達
user2user5
_
等々...
これらすべてのユーザーのページを選択し、タイムスタンプ列の降順で並べ替えます。誰かが解決策を提供してください?