У меня есть три таблицы.Добавить столбец в запросе, используя LEFT JOIN
tblcandidates
candidateid | candidatename
1 | Abc
2 | Def
tbljudges
judgeid | judgename
1 | Stack
2 | Overflow
tblscores
scoreid | candidateid | judgeid | swimsuit
1 | 1 | 1 | 100
2 | 1 | 2 | 99
3 | 2 | 1 | 100
4 | 2 | 2 | 93
Я использую этот запрос получить среднее число каждого кандидата.
SELECT DISTINCT
(c.candidateid) AS c,
candidatename AS NAME,
j1.swimsuit AS j1,
j2.swimsuit AS j2,
(
j1.swimsuit + j2.swimsuit
)/2 AS average
FROM
tblscores,
tblcandidates c
LEFT JOIN tblscores j1 ON c.candidateid = j1.candidateid
AND j1.judgeid = 1
LEFT JOIN tblscores j2 ON c.candidateid = j2.candidateid
AND j2.judgeid = 2
WHERE tblscores.candidateid = c.candidateid;
Выход
c | name | j1 | j2 | average
1 | Abc | 100 | 99 | 99.5
2 | Def | 100 | 93 | 96.5
Моя проблема в том, что если судьи станут 3. Я хочу, чтобы мой динамический запрос в зависимости от количества судей. Мой запрос ограничивается только двумя судьями. Я также хочу отобразить оценки судей, как в моем выпуске, для доказательства того, что у них есть оценка.
Пожалуйста, поделитесь скриптом sql. Это проблема сводной таблицы MySQL. – 1000111
Как сделать скрипку sql? –
Вот пример [** sql fiddle **] (http://sqlfiddle.com/#!9/3fd52/1/0) – 1000111