Essayez ceci :
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;
Ayant votre requête d'origine, ce que j'ai fait est de traiter cette requête comme une table (a) et LEFT JOIN
avec des connections
table. Ensuite, LEFT JOIN
les connections
tableau avec les words_en
tableau pour atteindre les mots souhaités. Cela permet d'obtenir tous les utilisateurs qui reviennent de votre requête d'origine, même en l'absence de connexions/mots.