@the5x

Как правильно связать Many to Many?

Подскажите, как связать три таблицы, чтобы был такой примерно вывод
username: group1, group2, group3,...

users:
  • id
  • username


groups:
  • id
  • title


users_groups:
  • id
  • user_id
  • groups_id
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
SELECT
 CONCAT((SELECT u.`username` FROM `users` u WHERE u.`id` = t.`user_id`), ': ', t.`_groups`)
FROM (
 SELECT 
  ug.`user_id`, GROUP_CONCAT(g.`title` SEPARATOR ', ') AS _groups
 FROM `users_groups` ug
 JOIN `groups` g ON g.`id` = ug.`groups_id`
 GROUP BY ug.`user_id`
) t
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы