更改当前的MySql查询以基于id组合结果

Nat*_*ade 2 mysql select

我下面的当前查询得到了所有注册参加活动的评委.in子句中的子查询是因为事件可以是一天或多天,并且评委可以注册一个或多个.这很好,但如果它是一个2天的事件,并且法官报到两者,他们是2行返回给用户.我想将它们结合起来,以便显示它们的信息以及两个事件日.我该怎么办呢?

select concat(ej.FirstName, ' ', ej.LastName) as judge, ej.email, ej.phone, ed.EventDate
from EventJudges ej 
inner join EventJudgeXref ejx on ej.Id = ejx.EventJudgeId 
inner join EventDates ed on ejx.EventDateId = ed.Id
where ejx.EventDateId in(SELECT Id FROM EventDates WHERE EventId = 1) 
order by ej.FirstName asc, ej.LastName asc
Run Code Online (Sandbox Code Playgroud)

EventJudgeXref表包含a JudgeId和EventDateId以供参考.

Ron*_*ith 5

尝试使用group_concat:

select concat(ej.FirstName, ' ', ej.LastName) as judge,
    ej.email,
    ej.phone,
    group_concat(ed.EventDate) as EventDate
from EventJudges ej 
inner join EventJudgeXref ejx on ej.Id = ejx.EventJudgeId 
inner join EventDates ed on ejx.EventDateId = ed.Id
where ejx.EventDateId in(SELECT Id FROM EventDates WHERE EventId = 1) 
group by ej.Id
order by ej.FirstName asc, ej.LastName asc
Run Code Online (Sandbox Code Playgroud)

SQL小提琴