Utiliser MAX() en condition dans un LEFT JOIN
Bonjour,
J'ai 2 tables, qu'on appelera Joueur et Niveau, avec niveau qui contient une clef étrangère sur Joueur.
Citation:
Joueur (id int(11), nom varchar(32))
Niveau (#joueur int(11), niveau int(11), points int(11))
Admettons maintenant que je veuille récupérer tous les joueurs ayant atteint un certain niveau (ni plus ni moins)...
Code:
select * from joueur where (select max(niveau.niveau) from niveau where niveau.joueur = joueur.id group by niveau.joueur) = 10
Ce qui devrait fonctionner, mais ne me parait pas terrible car :
1 - il doit etre possible de faire ça avec un left join
2 - je ne récupère pas le contenu de la variable point correspondant à l'enregistrement niveau = 10
Aussi, existe une méthode plus avantageuse comblant ces 2 lacunes ?