LEFT JOIN MEDICALTESTS m ON p.PlayerId = m.PlayerId
WHERE m.PassedMedical = 1
Isso é contraditório. Você está dizendo que é uma junção à esquerda, então o registro MEDICALTESTS não precisa existir, mas então dizendo que o registro deve de fato existir e ter um 1 como PassedMedical. Portanto, sua junção esquerda se torna uma junção interna de fato, e da mesma forma, como você deve ter uma linha MEDICALTESTS, você também deve ter uma linha PLAYERS, para que também se torne uma junção interna.
Tente isso em vez disso:
INNER JOIN MEDICALTESTS m ON p.PlayerId = m.PlayerId and m.PassedMedical = 1
Não tenho certeza de como o SQL Server interpreta FROM foo LEFT JOIN bar INNER JOIN baz...você quer que ele interprete isso como FROM foo LEFT JOIN (bar INNER JOIN baz). Se isso não funcionar, use uma subseleção; não participe, apenas adicione:
WHERE p.PlayerId IS NULL or (select PassedMedical from MEDICALTESTS m where m.PlayerId=p.PlayerID) = 1
Espero que isso ajude, apesar da minha falta de familiaridade com o SQL Server.