Supposons que j'ai une table appelée examen. Chaque ligne contient:Sélectionnez les utilisateurs qui n'ont jamais réussi un examen
examDate
userId
passé
Ainsi, nous pourrions avoir les résultats suivants:
1 jan 2010, 7, faux
2 janvier 2010 , 8, vrai
3 jan 2010, 7, vrai
J an 3 2010, 9, false
Je veux exécuter un rapport qui inclut tous les utilisateurs qui n'ont JAMAIS passé l'examen. Dans l'exemple ci-dessus, seul userId 9 doit être renvoyé par cette requête.
Je ne veux pas faire quelque chose de vraiment inefficace comme:
Select * from exam where passed = 'false' and userId Not In
(Select userId from exam where passed = 'true');
nous ne sommes pas à faire des devoirs pour vous –
Quelle base de données utilisez-vous? –
C'est une vraie question, s'il vous plaît arrêtez de voter pour fermer parce que vous croyez que c'est "devoirs". –