Retrouver les groupes identiques

Résolu/Fermé
tomyboy97 Messages postés 144 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 7 mars 2019 - Modifié le 5 mars 2019 à 20:50
tomyboy97 Messages postés 144 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 7 mars 2019 - 6 mars 2019 à 21:06
Bonjours à tous,

Je possède deux tables dans ma bases de données, PARTICIPATIONS et INSCRIPTION. J'aimerais retrouver les équipes identiques en obtenant les numéro d'identification des participations. Je m'explique :

Voici mes deux tables :

PARTICIPATION


INSCRIPTION


Ce que je souhaite faire, c'est en ayant les numéros des joueurs (ex 54 et 55), retrouver la liste des participations pour lesquelles ces joueurs ont été ensemble (seulement ces deux personnes, et non les participations où les joueurs 54, 55 et 56 auraient été ensemble).

Dans ma table PARTICIPATION, il arrive que les noms d'équipe soient différentes même si l'équipe contient exactement les mêmes personnes et certaines participations n'ont pas de nom d'équipe, puisqu'une seule personne est liée à celle-ci.

Ainsi, en utilisant 54 et 55 dans ma requête, j'obtiendrais la liste des participations 239 et 242 (et non 237).
Pour les joueurs 57 et 58, j'obtiendrais la participation 240.
Et pour par exemple les joueurs 54, 55 et 56, j'obtiendrais la participation 237.
La requête avec les joueurs 54, 55 et 58 ne donnerait aucun résultat (une liste vide).

Merci à l'avance pour votre aide.
Thomas

1 réponse

tomyboy97 Messages postés 144 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 7 mars 2019 6
Modifié le 6 mars 2019 à 21:06
J'ai finalement trouvé une solution, la voici :

SELECT * FROM inscription a
WHERE a.joueur IN (54,55)
GROUP BY a.participation
HAVING COUNT(*) = 2
AND COUNT(*) =
(
SELECT COUNT(*) FROM inscription b
WHERE b.participation = a.participation
GROUP BY b.participation
)
0