Спасибо всем вам за помощью на мою первую попыткуЗастрял снова - нужно добавить еще один GROUP_CONCAT для запроса MySQL
Я пытаюсь добавить второй GROUP_CONCAT на запрос, чтобы вернуть данные в DataGrid VB.Net. Я хочу Rollup результаты 2-х столбцов в новые колонны вроде как ниже:
Существующих данные
Date Sponsor Match_no Team
--------------------------------------------
1-1-11 Nike 1 Tigers
1-1-11 Nike 1 Bears
2-1-11 Crisco 2 Llamas
2-1-11 Crisco 2 Tigers
Date Sponsor Match_no Tags
--------------------------------------------
1-1-11 Nike 1 Away
1-1-11 Nike 1 Rained out
2-1-11 Crisco 2 Home
2-1-11 Crisco 2 Injury
и профилирования обе колонки с GROUP_CONCATs, чтобы получить результат что-то вроде этого
Date Sponsor Match_no Teams_playing Tags
----------------------------------------------------------------
1-1-11 Nike 1 Tigers vs Bears Away, Rained Out
2-1-11 Crisco 2 Llamas vs Tigers Home, injury
Я взял здесь совет и создал таблицы объединений в Team_matches и Matches_tags
Теперь существует 7 таблиц:
Dates Sponsors Match Team Tags matches_tags team_matches
--------------------------------------------------------------------------------------
Date_id Sponsor_id Match_id Team_id Tag_id Match_id Team_id
Date Sponsor_name Match_no Team_name Tag_name Tag_id Match_id
date_id sponsor_id
Мой запрос до сих пор:
select d.date, s.sponsor_name, m.match_no,
group_concat(t.team_name separator ' vs ') Teams_playing,
group_concat(tg.tag_name separator ' , ') Comments
from matchs m
inner join matches_teams mte on mte.match_id = m.match_id
inner join matches_tags mta on mta.match_id = m.match_id
inner join team t on t.team_id = mte.team_id
inner join tags tg on tg.tag_id = mta.tag_id
inner join sponsors s on s.sponsor_id = m.sponsor_id
inner join dates d on d.date_id = s.date_id
group by m.match_id, d.date, s.sponsor_name, m.match_no, tg.tag_id
и возвращает результаты:
date sponsor match_no teams playing comments
--------------------------------------------------------------------
1-1-11 Nike 1 Bears vs Tigers Rained out , Rained out
1-1-11 Nike 1 Bears vs Tigers Cancelled , Cancelled
1-1-11 Nike 3 Earwigs vs Goombas Away , Away
2-1-11 Crisco 2 Tigers vs Llamas Away , Away
Который не то, что им после того, как:
Подождите, что спортивное событие имеет Crisco как спонсор? – SeanDowney