d1zz7
@d1zz7

Как отобразить две строки в одну?

Есть (например) таблица matches и match_opponents.
В match_opponents есть match_id и opponent_id (на каждый матч два оппонента, т.е на match = 123 выйдет две строки с матч ид и оппонент ид).
Select * 
from matches m
inner join match_opponents op on op.match_id = m.match_id
where m.status like "started";

Вот это выводит на каждый матч две строки, а мне нужно в одну строку один матч
вот так:
match_id | opponent1 | opponent2
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Используй группировку
select
	m.match_id,
	min(opponent_id) as op1, max(opponent_id) as op2
from match_opponents op
inner join matches m on op.match_id = m.match_id
where m.status = "started"
group by m.match_id;


SQL fiddfe
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
distinct + concat, правда полей будет только 2
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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