Je galere sur ma requête, voici mon problème :
j'ai une table utilisateur, chaque utilisateur peut appartenir de 0 à n groupe,
Voici mes tables :
DROP TABLE IF EXISTS lien_user_groupe;
CREATE TABLE `lien_user_groupe` (
`id_lien_user_groupe` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`id_leuser` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`id_groupe` INT(10) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id_lien_user_groupe`) ;
DROP TABLE IF EXISTS leuser;
CREATE TABLE `leuser` (
`id_leuser` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`nom` VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (`id_leuser`)
) ENGINE=MYISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
DROP TABLE IF EXISTS groupe;
CREATE TABLE `groupe` (
`id_groupe` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`nom` VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (`id_groupe`)
) ENGINE=MYISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
1 table user1 table groupe
1 table pour faire la liaison (0,n)
J'arrive à récuper le id_leuser appartenant au groupe 1 ou 2 ou xx,
ce que je n'arrive pas à récupérer, c'est le(s) iduser qui répondent à la condition d'appartenir au groupe 1 ET 2 (sans exclusif).
Merci de votre aide..
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]
En fait j'arrive à faire avec cette méthode :
SELECT lien_user_groupe.id_leuser
FROM
lien_user_groupe
WHERE id_groupe=1
AND lien_user_groupe.id_leuser IN
(SELECT lien_user_groupe.id_leuser
FROM
lien_user_groupe
WHERE id_groupe=2
AND lien_user_groupe.id_leuser IN
(SELECT lien_user_groupe.id_leuser
FROM
lien_user_groupe
WHERE id_groupe=3)
)
Mais je ne sais pas si c'est pas un peu consommateur ?