Requête SQL : WHERE NOT EXISTS

Résolu
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

  1. 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
    1. Merci bien.
      0