Cita: Pues directamente no están relacionadas,
Si no están relacionadas no puedes usar INNER JOIN porque el resultado es irracional. Estarías mezclando cosas incompatibles; como quien quiere saber cuantas facturas y remitos tiene un cliente, pero para ello hace un INNER JOIN entre el detalle de las facturas y los remitos. No son cosas que tengan una relación 1:1, por lo que la cuenta da cualquier cosa.
El error es que si lo que quieres es contar los torneos y retos en que intervino un usuario, lo que tienes que relacionar es a los Usuarios con los Retos y con los Torneos, y no usando INNER JOIN sino LEFT JOIN, ya que uno de ellos puede dar NULL en algún momento.
Algo como:
Código MySQL:
Ver original U.idUsuario,
U.nombreUsuario,
COUNT(T.idTorneo
) TorneosGanados
, COUNT(R.idReto
) RetosRealizados
Usuarios U
Recuerda: Si dos tablas se vinculan a una tercera, no implica necesariamente que se vinculen entre sí. Sólo existe transitividad si los registros de ambas tienen efectivamente alguna relación, es decir, si Torneos dependiese de Retos o viceversa.