Объединение таблицы, содержащей несколько значений в одном поле, с другой таблицей

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

tbPerson

личность имя идентификатор группы P001 Альфа 1,2,3 P002 Бета 2,3 P003 Чарли 1,3

tbGroup

идентификатор группы Название группы 1 Инвестор 2 Распределитель 3 розничный продавец

Я хочу присоединиться к ним, чтобы сделать таблицу, как

имя Название группы Альфа Инвестор, Дистрибьютор, Ритейлер Бета Дистрибьютор, Розничный продавец Чарли Инвестор, Ритейлер
SELECT p.name, g.group_name
FROM tbPerson p 
LEFT JOIN tbGroup g ON p.groupid = g.groupid

Он дает только 1 group_name для каждого человека.

Обратите внимание, что в таблицах есть столбцы, а не поля.

jarlh 22.02.2023 08:58
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
1
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
SELECT tbPerson.name, 
       GROUP_CONCAT(tbGroup.group_name SEPARATOR ', ') AS group_name
FROM tbPerson
JOIN tbGroup ON FIND_IN_SET(tbGroup.groupid, tbPerson.groupid)
GROUP BY tbPerson.personid

Большое спасибо @philipxy за предоставление мне такой полезной информации об изображениях. Я буду помнить об этом прямо сейчас.

Darshan Balar 22.02.2023 05:50

Этот пост навсегда, для других. Пожалуйста, рассмотрите возможность редактирования, чтобы улучшить его.

philipxy 22.02.2023 05:51

да конечно пойдет

Darshan Balar 22.02.2023 05:54

Это сработало отлично, FIND_IN_SET справился. Большое спасибо.

suncarl 22.02.2023 08:23

Другие вопросы по теме