Bonjour,

J'aurais besoin de votre aide pour une requête à faire dont je ne trouve pas la solution...

Le but est de faire un Cross Join sur une même table et de supprimer les entrées doubles.

Le principe est celui d'un mini tournoi de foot.

J'ai une table T_equipe où j'ai trois équipes différentes (Lausanne Sport, Moudon, Sierre) et celles-ci doivent jouer les une contre les autres UNE SEULE FOIS ! Donc pas de match retour !

Voici ma requête que j'exécute :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
select *
from T_equipe equipe1
cross join t_equipe equipe2 on equipe1.id_equipe != equipe2.id_equipe
order by rand()
Et le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
ID_Equipe  NomEquipe          ID_Equipe  NomEquipe    
---------  -----------------  ---------  -------------------
3          Moudon             1          Lausanne Sport
3          Moudon             2          Sierre
2          Sierre             3          Moudon
1          Lausanne Sport     3          Moudon
2          Sierre             1          Lausanne Sport
1          Lausanne Sport     2          Sierre
Je souhaite donc supprimer les matchs doubles... mais je ne sais pas comment faire. Merci de votre aide.

Bonne journée.