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

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

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 для каждого человека.

🤔 А знаете ли вы, что...
Синтаксис SQL (Structured Query Language) используется для взаимодействия с MySQL.


55
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