Я хочу вернуть соответствующую информацию о пользователе из трех разных таблиц в моей базе данных, используя соединения SQL и функцию concat группы.Какие объединения подходят для того, чего я пытаюсь достичь?
У меня есть три таблицы, которые я хочу использовать в таблице: users user_events События
Текущий код SQL:
SELECT users.username, users.user_firstname, users.user_lastname,
users.user_role, user_events.Event_ID
FROM users
LEFT JOIN user_events ON users.id = user_events.id
Возвращает всех пользователей, сведения о них и идентификатор события, на которое они подписаны, но этот идентификатор дублируется, если они зарегистрировались на одном или нескольких.
Если я обновлю свой запрос дониже, как мне присоединиться к таблице событий, чтобы получить имя события?
SELECT users.username, users.user_firstname, users.user_lastname,
users.user_role,
GROUP_CONCAT(Events.Event_Name) AS Event_Names
FROM users
LEFT JOIN user_events ON users.id = user_events.id
Мой вывод из первого запроса выглядит следующим образом:
| username | user_firstname | user_lastname | user_role | event_id.
| M@gmail.com | jo | mccann | employee | 8
| M@gmail.com | jo | mccann | employee | 15
Ожидаемый вывод:
| username | user_firstname | user_lastname | user_role | Event_Name
| M@gmail.com | jo | mccann | employee | baking,run