Requête SQL : WHERE NOT EXISTS

Résolu/Fermé
JoJoJos Messages postés 3 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 28 avril 2011 - 27 avril 2011 à 10:41
JoJoJos Messages postés 3 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 28 avril 2011 - 28 avril 2011 à 15:39
Bonjour,

ça fait un bout de temps que je suis bloqué sur ce soucis, merci d'avance pour votre aide.
Pour vous expliquer, je fais un site de QCM. Il y a les tables suivant 'qcm', 'questionDansQcm (qui associe une question à un qcm) et question (qui contient le liste de toutes les questions).

Ce que je veux faire : obtenir la liste des QCM de l'auteur n°1 qui ne contiennent pas la question n°1.

Voilà ce que j'ai produit, mais j'obtiens seulement les QCM de l'auteur n°1, sans tri par rapport à la question :
SELECT * 
FROM qcm
WHERE NOT EXISTS (
            SELECT * 
            FROM questionDansQcm
            WHERE questionDansQcm.id_question = 1
)
AND qcm.id_auteur = 1
ORDER BY titre ASC;


J'espere avoir été clair. Merci de votre aide.

1 réponse

Tatanos Messages postés 966 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 mai 2016 154
28 avril 2011 à 13:44
Bonjour,

essaies ceci :

SELECT *
FROM qcm
WHERE qcm.id_auteur = 1
AND qcm.id_QCM NOT IN (
SELECT id_QCM
FROM questionDansQcm
WHERE questionDansQcm.id_question = 1
)
ORDER BY titre ASC;
1
JoJoJos Messages postés 3 Date d'inscription mercredi 27 avril 2011 Statut Membre Dernière intervention 28 avril 2011 1
28 avril 2011 à 15:39
Merci bien.
0