Использование SUM с несколькими объединениями в MySQL

Я искал решение для этого, есть много подобных вопросов, но ни один не имеет правильных ответов, которые помогли бы мне решить проблему.

Прежде всего, мои вопросы / проблемы:

Я хочу суммировать и считать определенные столбцы в запросе множественного объединенияРазве это невозможно с несколькими объединениями? Должен ли я гнездитьсяSELECT запросы?

Вот дамп SQL моей базы данных с примерами данных:http://pastie.org/private/vq7qkfer5mwyraudb5dh0a

Я думаю, что этот запрос поможет:

SELECT firstname, lastname, sum(goal.goal), sum(assist.assist), sum(gw.gw), sum(win.win), count(played.idplayer) FROM player
LEFT JOIN goal USING (idplayer)
LEFT JOIN assist USING (idplayer)
LEFT JOIN gw USING (idplayer)
LEFT JOIN win USING (idplayer)
LEFT JOIN played USING (idplayer)
GROUP BY idplayer

То, что я хотел бы создать, - это таблица, в которой столбцы для гола, ассистента, gw, выигрыша и проигрыша представляют собой сумму / количество каждой строки в этом столбце, например, так: (с предоставленными образцами данных)

+-----------+----------+------+--------+----+-----+--------+
| firstname | lastname | goal | assist | gw | win | played |
+-----------+----------+------+--------+----+-----+--------+
| Gandalf   | The White|   10 |      6 |  1 |   1 |      2 |
| Frodo     | Baggins  |   16 |      2 |  1 |   2 |      2 |
| Bilbo     | Baggins  |    7 |      3 |  0 |   0 |      2 |
+-----------+----------+------+--------+----+-----+--------+

Итак, чтобы повторить вышеупомянутые вопросы снова, возможно ли это с одним запросом и несколькими объединениями?

Если вы предоставляете решения / запросы,пожалуйста, объясните их! Я новичок в правильных реляционных базах данных и никогда не использовал объединения до этого проекта. Я также был бы признателен, если бы вы избегали псевдонимов без необходимости.

Я выполнил вышеупомянутый запрос без суммы и группировки, и я получаю набор строк для каждого столбца, который я делаюSELECT на, который я подозреваю, затем умножается или складывается вместе, но у меня сложилось впечатление, что группировка и / или делатьsum(TABLE.COLUMN) решил бы это.

Другое дело, что, я думаю, делаетSELECT DISTINCT или любой другойDISTINCT операция не будет работать, так как это приведет к удалению некоторых («дубликатов») результатов.

PS. Если это имеет значение, моя машина разработки - это WAMP, но релиз будет на ubuntu / apache / mysql / php.

Ответы на вопрос(1)

Ваш ответ на вопрос