Задать вопрос
@Lavrov95

Как написать many to many sql скрипт?

Как написать many to many sql скрипт?

students

id | name

classes

id | name

student_classes

id | student_id | class_id

Результат должен быть таким

id | name | classes

1  | Bob  | Class 1, Class 2
2  | Sara | Class 2
3  | Jon  | -
  • Вопрос задан
  • 94 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dzhebrak
LEFT JOIN и GROUP_CONCAT, если mysql

https://www.mysqltutorial.org/mysql-group_concat/
SELECT s.id, s.name, GROUP_CONCAT(DISTINCT c.name SEPARATOR ', ') as classes 
FROM students s
LEFT JOIN student_classes sc ON sc.student_id = s.id
LEFT JOIN classes c ON c.id = sc.class_id
GROUP BY s.name
ORDER BY s.id ASC;

Для PostgreSQL аналогично, только функция STRING_AGG https://www.postgresqltutorial.com/postgresql-aggr...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы