Usando SUM con múltiples uniones en mysql

He estado buscando una solución a esto, hay muchas preguntas similares pero ninguna tiene respuestas adecuadas que me ayudaron a resolver el problema.

En primer lugar, mis preguntas / problema:

Quiero sumar y contar ciertas columnas en una consulta de combinación múltiple¿No es posible con múltiples uniones? Tengo que anidarSELECT consultas?

Aquí hay un volcado de SQL de mi base de datos con datos de muestra:http://pastie.org/private/vq7qkfer5mwyraudb5dh0a

Esta es la consulta que pensé que haría el truco:

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

Lo que me gustaría que produjera es una tabla donde las columnas para meta, asistencia, gw, ganar y jugar son una suma / conteo de cada fila en esa columna, así: (con datos de muestra proporcionados)

+-----------+----------+------+--------+----+-----+--------+
| 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 |
+-----------+----------+------+--------+----+-----+--------+

Entonces, para repetir las preguntas anteriores, ¿es esto posible con una consulta y múltiples uniones?

Si proporciona soluciones / consultas,por favor explícalos Soy nuevo en las bases de datos relacionales adecuadas y nunca he usado uniones antes de este proyecto. También apreciaría si evitas los alias a menos que sea necesario.

He ejecutado la consulta anterior sin sumar ni agrupar y obtengo un conjunto de filas para cada columna que hagoSELECT on, que sospecho que luego se multiplica o se suma, pero tenía la impresión de que agrupar y / o hacersum(TABLE.COLUMN) resolvería eso

Otra cosa es que, creo, haciendo unSELECT DISTINCT o cualquier otroDISTINCT La operación no funcionará ya que dejará de lado algunos resultados ("duplicados").

PD. Si importa, mi máquina dev es un WAMP pero la versión estará en ubuntu / apache / mysql / php.

Respuestas a la pregunta(1)

Su respuesta a la pregunta