@sergey_privacy
Админ со стажем, начинающий DevOps

Как сделать в mysql конкатенацию в left join множественных значений?

У меня есть таблица в mysql со списком людей (структура таблиц упрощена):
Peoples:
Id
FIO

И есть таблица с их прочитанными книгами
Books:
PeopleId - (Id из первой таблицы)
Book

Одно значение из первой таблицы содержит множество связанных значений во второй таблице. Мне нужно произвести выборку данных из первой таблицы и в одном столбце добавить выбранные книги из второй таблицы. Книги должны быть разделены каким то разделителем (запятая или точка с запятой).
Что то типа
SELECT Peoples.Id, Peoples.FIO, CONCAT( Books.Book1, ';', Books.Book2) AS Books FROM Peoples, Books
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
isset89
@isset89
Врёшь, тебе нравится
Select a.id, a.fio, group_concat( b.book_name separator ', ') as books
From people a
Left join books b on a.id = b.people_id
Group by a.id, a.fio
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
402d
@402d
начинал с бейсика на УКНЦ в 1988
Функция group_concat
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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