Bonsoir!

J'espère que vous allez toutes et tous très bien!

Pour illustrer mon problème je vais prendre un exemple fictif mais simple.

Le contexte:
Un site relatif à un sport. On y enregistre les pays, les équipes et les joueurs de ces équipes. On imagine donc la table "pays", la table "equipe" et la table "joueur"; la table "equipe" comporte un champ "pays" qui permet de lier à l'ID de la table "pays"; la table "joueur" comporte un champ "equipe" qui permet de lier à l'ID de la table "equipe".

La problématique:
Sur une page on souhaite afficher les 4 premièrs pays [par ordre d'ID croissant - "ORDER BY pays.id ASC"]; on imagine qu'une seule équipe est lié à chaques pays; et, pour chacunes de ces équipes on affiche un des joueurs aux hasard. On aura donc une requête dans ce genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT pays.nation,equipe.club,joueur.identite
FROM pays LEFT JOIN equipe ON (pays.id=equipe.pays) LEFT JOIN joueur ON (equipe.id = joueur.equipe)
GROUP BY equipe.id
ORDER BY pays.id ASC,RAND()
Mes questions:
La requête ci-dessus est fonctionnelle [cad sans erreur]... mais ça ne donne pas le résultat voulu . Le joueur affiché est toujours le même par équipe [cad un joueur différent pour chaques équipe, mais toujours le même pour une équipe donnée]. Une idée sur comment faire? Je sais appliquer le RAND() sur une seule table... mais là :s.

Merci d'avance pour vos aides!