Я нахожусь в процессе планирования базы данных для проекта mysql и думаю, что мне нужно решить эту проблему, прежде чем я пойду дальше.Несколько group_concat
CREATE TABLE ResultsTbl (
EventID INTEGER,
MatchNumber INTEGER (9),
TeamNumber int,
IndividualName CHAR (100),
Result char (4)
);
INSERT INTO ResultsTbl VALUES (1,1,1,'individual 1','W');
INSERT INTO ResultsTbl VALUES (1,1,1,'individual 2','W');
INSERT INTO ResultsTbl VALUES (1,1,2,'individual 3','L');
INSERT INTO ResultsTbl VALUES (1,1,2,'individual 4','L');
INSERT INTO ResultsTbl VALUES (1,1,3,'individual 5','L');
INSERT INTO ResultsTbl VALUES (1,1,3,'individual 6','L');
INSERT INTO ResultsTbl VALUES (1,2,1,'individual 7','W');
INSERT INTO ResultsTbl VALUES (1,2,2,'individual 8','L');
INSERT INTO ResultsTbl VALUES (1,3,1,'individual 9','W');
INSERT INTO ResultsTbl VALUES (1,3,1,'individual 10','W');
INSERT INTO ResultsTbl VALUES (1,3,2,'individual 11','L');
INSERT INTO ResultsTbl VALUES (1,3,2,'individual 12','L');
У меня есть таблица, в которой хранятся данные для совпадений. Мне нужен конечный результат, чтобы иметь одну ячейку для каждого MatchNumber, где Result = 'W' и один, где Result = 'L', но мне нужны индивидуальные имена в тех же командах, которые объединены с «&». Мне также нужны команды, объединенные с ",".
Для примера выше, желаемый результат должен быть следующим:
MatchNumber | Winners | Losers
1 | Individual 1 & individual 2 | individual 3 & individual 4, individual 5 & individual 6
2 | individual 7 | individual 8
3 | individual 9 & individual 10 | individual 11 & individual 12
Так на MatchNumber 1 мы имеем одну команду в победители, но 2 команды в проигрыше. Человек в пределах одной команды объединяется с «&», а разные команды объединяются с «,». В матче 2 только 1 человек в каждой команде, поэтому особых символов не требуется. В матче 3 есть 1 команда из 2 человек как победителей, так и проигравших, поэтому они объединены с «&», без необходимости «,».
Я хотел бы написать то, с чем я потерпел неудачу, но я просто не могу найти где-нибудь рядом с тем, что мне нужно делать. Я посмотрел вниз по дороге group_concat на команды, а затем на group_concat на результат, но я не могу понять это.
Я хотел получить это, прежде чем обрабатывать все данные, поэтому, если структуры таблиц необходимо изменить, чтобы это сделать, я открыт для предложений.
Спасибо за любую помощь или совет, который может дать любой.
Ваши права. Моя вина, ленивый читал;) – danihp
Эй, это сработало блестяще. Именно так, как я описал. Большое спасибо Равиндер. – user2803146