選択したユーザーの保留中のリクエストを取得するには、次を使用します。
SELECT f1.asker_user_id AS friend_id
FROM friends AS f1
LEFT JOIN friends AS f2
ON f1.asked_user_id = f2.asker_user_id
AND f1.asker_user_id = f2.asked_user_id
WHERE f1.status = 1 AND f2.status IS NULL
AND f1.asked_user_id = 2
http://www.sqlfiddle.com/#!2/0f7a0d5/65ユーザー 3 を正しく返します。 値 (3,2,1)
しかし、私はこのユーザーに関するより多くのデータを取得したいと思います 3.
私はテーブルname_surname
から必要です。そして、テーブルからのこのユーザーのすべての は、に基づいてから表示されます。avatar
users
word_id
connections
word
words_en
word_id
ありがとう!
ps私はこれを試しました:
SELECT a.name_surname,GROUP_CONCAT(Distinct w.word Order by w.word asc) AS words
FROM (
SELECT f1.asked_user_id AS friend_id,
f1.created,
u.name_surname,
u.avatar
FROM friends AS f1
LEFT JOIN friends AS f2 ON f1.asked_user_id = f2.asker_user_id
INNER JOIN users AS u ON f1.asked_user_id = u.id
AND f1.asker_user_id = f2.asked_user_id
WHERE f1.status = 1 AND f2.status IS NULL
AND f1.asker_user_id = 2
) a
LEFT JOIN connections c ON c.user_id = a.friend_id
LEFT JOIN words_en w ON c.word_id = w.id
GROUP BY 1;