Запрос с помощью group_concat возвращает только одну строку

Это запрос, который должен получить информацию пользователя, информацию о своем проекте и group_concat всех путей к изображениям, с которыми связан такой проект. Чтобы добавить к этому, я получаю информацию только от людей, за которыми следует пользователь.

Это, однако, только ретранслирование одной строки.

SELECT users.first_name, users.last_name, users.user_id, projects.project_id, projects.project_name, projects.project_time, group_concat(images.image_path) FROM users, projects, images WHERE users.user_id = projects.user_id AND users.user_id IN (SELECT follow_user_2 FROM following WHERE follow_user_1 = 1) ORDER BY projects.project_id DESC 

СРАВНИТЬ: Следующий запрос РАБОТАЕТ в том смысле, что в цикле он предоставляет всю информацию пользователя и информацию о проектах, связанных с таким пользователем.

 SELECT users.first_name, users.last_name, users.user_id, projects.project_id, projects.project_name, projects.project_time FROM users, projects WHERE users.user_id = projects.user_id AND users.user_id IN (SELECT follow_user_2 FROM following WHERE follow_user_1 = 1) ORDER BY projects.project_id DESC 

Когда я пытаюсь использовать group_concat, он просто возвращает мне одну строку, и я не понимаю, почему.

Может кто-то мне помочь, пожалуйста? Спасибо. Если бы мой вопрос был недостаточно ясным, я уточню.

Если это поможет, вот SQL FIDDLE. http://www.sqlfiddle.com/#!2/867f6/2 Мне пришлось значительно сократить мою схему. Попробуйте оба вопроса выше, чтобы увидеть проблему.

Когда я пытаюсь использовать group_concat, он просто возвращает мне одну строку, и я не понимаю, почему.

Поскольку вы не использовали предложение GROUP BY в своем запросе. При использовании агрегатных функций, таких как GROUP_CONCAT вам нужно сообщить базе данных о столбце, в котором вы хотите объединить данные.

В настоящее время ваш запрос группирует все записи и дает 1 запись на выходе.

Если вы добавите GROUP BY users.userid в запрос, то записи будут сгруппированы по уникальным идентификаторам пользователя. Я обновил вашу скрипку, и теперь она дает 2 записи: http://www.sqlfiddle.com/#!2/867f6/18

Обратите внимание: в стандартных SQL-запросах столбцы, перечисленные в предложении GROUP BY, должны соответствовать столбцу в предложении SELECT (кроме агрегатных функций).

Просто используйте предложение group by в your_query

 SELECT users.first_name, users.last_name, users.user_id, projects.project_id, projects.project_name, projects.project_time, group_concat(images.image_path) FROM users, projects, images WHERE users.user_id = projects.user_id AND users.user_id IN (SELECT follow_user_2 FROM following WHERE follow_user_1 = 1) group by users.first_name ORDER BY projects.project_id DESC; 

играть на скрипке