Bueno, yo te tiro la idea de cómo la haría. Entender la lógica de la query te la dejo como tarea para la casa.
Código MySQL:
Ver originalSELECT T1.lastlogin
, T1.username
, T1.coins
, IFNULL(T2.topics
, 0) topics
, IFNULL(T2.responses
, 0) responses
LEFT JOIN playerpoints PP
ON A.username
= PP.playername
(SELECT F.author_name
, SUM(IF(F.identificador
= 0, 1, 0)) topics
, SUM(IF(F.identificador
!= 0, 1, 0)) responses
GROUP BY F.author_name
) T2
ON T1.username
= T2.author_name
En cuanto al uso de LEFT JOIN, es algo que se puede ver en el manual de referencia (
13.2.7.1. Sintaxis de JOIN, y
7.2.9. Cómo optimiza MySQL los LEFT JOIN y RIGHT JOIN), o bien en cualquier tutorial de MySQL, incluyendo algo que ya está en uno de los temas de ayuda de este mismo foro:
Common MySQL Queries