Requete SQL impossible à formuler

Fermé
armasousou Messages postés 1270 Date d'inscription dimanche 16 août 2009 Statut Membre Dernière intervention 30 décembre 2016 - 27 avril 2014 à 14:28
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 - 28 avril 2014 à 11:08
Bonjour,

J'ai un problème avec une requête que je sais simple mais que je ne sais pas formuler ...

Voila, j'ai une table "user_appartient_groupe" avec 2 champs : user_id et groupe_id. La table viens de la relation "user" et "groupe", des 2 cotés 0:n.

Ce que j'aimerai, c'est récupéré le groupe_id où user_id = X et user_id = Y, ...
C'est à dire que j'ai une liste d'utilisateur, et j'aimerai recupéré les id des groupe qu'ils ont en commun.

Merci d'avance !

PS: je sais que c'est possible avec select in, mais j'aimerai une autre méthode, s'il y en a une ^^

1 réponse

Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
28 avril 2014 à 11:08
Hello,
Je me suis fait une table de test :
MATABLE(GROUPE, USER)

J'y ai inséré ces valeurs :
insert into [dbo].MATABLE values ('GROUPE1','USER1')
insert into [dbo].MATABLE values ('GROUPE1','USER2')
insert into [dbo].MATABLE values ('GROUPE1','USER3')
insert into [dbo].MATABLE values ('GROUPE2','USER4')
insert into [dbo].MATABLE values ('GROUPE2','USER1')
insert into [dbo].MATABLE values ('GROUPE2','USER5')
insert into [dbo].MATABLE values ('GROUPE3','USER5')
insert into [dbo].MATABLE values ('GROUPE3','USER2')

Et si je veux avoir une liste de groupes où je peux y trouver USER1 et USER2, j'exécute cette requête :

select groupe from MATABLE where groupe in (select groupe from MATABLE where [USER] = 'USER1') and [USER] = 'USER2'


J'espère avoir pu t'aider :)

A+ !
0