Hãy thử điều này:
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
INNER 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
AND f1.asker_user_id = 1
WHERE f1.status = 1 AND f2.status = 1
) 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;
Có truy vấn ban đầu của bạn, những gì tôi đã làm là coi truy vấn đó như một bảng (a) và LEFT JOIN
nó với các kết nối connections
bàn. Sau đó, LEFT JOIN
các kết nối connections
bảng với words_en
bảng để đạt được các từ mong muốn. Điều này giúp bạn có thể nhận được tất cả người dùng quay lại từ truy vấn ban đầu của bạn, ngay cả khi không có kết nối / từ nào.