こんにちは、ユーザーとフレンドの 2 つのテーブルがあります (friend_status = 1 はリクエストが送信されたことを意味し、friend_status = 2 は彼らがフレンドであることを意味します)。ここで、すべてのユーザーが誰の友達でもないことを選択したいと思います。実行する方法?
現在のユーザーが1であると仮定します。これを試しましたが、間違っているようです。リクエストを送信したが、まだ確認されていないユーザーを表示するだけだからです。
SELECT user_id, name, email
FROM
(
SELECT user_id, name, email
FROM users u INNER JOIN friends f ON u.user_id = f.sender
WHERE f.receiver = 1 AND friend_status <> 2
UNION
SELECT user_id, name, email
FROM users u INNER JOIN friends f ON u.user_id = f.receiver
WHERE f.sender = 1 AND friend_status <> 2
) T
LIMIT 0, 10