Объединение в ряд результатов из двух вкладок - PullRequest
0 голосов
/ 30 мая 2019

Мне нужно создать запрос MySQL, который должен получить только один результат строки из двух таблиц.

У меня есть таблица с именем users и таблица users_sports.

SELECT * FROM users WHERE id = 71
SELECT user_sport_sport FROM users.sports WHERE user_sport_user = 71

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

Например: id=71, username="mike2"...sport1="Basketball",sport2="Soccer".

РЕДАКТИРОВАТЬ tb_user_sports

enter image description here

Пользователи таблицы

enter image description here

Таблица tb_sports

enter image description here

1 Ответ

2 голосов
/ 30 мая 2019

Вы можете использовать group_concat для извлечения всех видов спорта для этого идентификатора пользователя

select u.name, GROUP_CONCAT(ts.sport_name) sports from users u
join tb_user_sports tus ON tus.user_sport_user = u.id
left join tb_sports ts ON ts.id_sport = tus.user_sport_sport
where u.id = 72
group by u.id

Источник: https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_group-concat

Для псевдонима: link1 и link2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...