Exclure enregistrements d'une requête MySQL - SQL/NoSQL - Programmation
Marsh Posté le 16-08-2012 à 19:26:20
Pas compris comment devaient être sélectionnées/exclues les lignes
Pour exclure des lignes, tu peux utiliser le "NOT IN"
Marsh Posté le 16-08-2012 à 21:12:15
OK, j'ai pris un cas et j'ai fait une sous-requête qui fonctionne:
SELECT * FROM lesson WHERE lesson.id_lesson NOT IN (SELECT lesson_animal.id_lesson FROM lesson_animal WHERE lesson_animal.id_animal=$id_animal)
Mais il me semble que ce serait plus optimal avec une jointure.
Marsh Posté le 16-08-2012 à 22:02:58
Quelque chose dans ce genre :
SELECT * |
Si des tests montrent de meilleures performances, ça peut être une alternative mais perso, je préfère largement ta requête
Marsh Posté le 15-08-2012 à 21:32:54
Hello tous,
J'ai un trou... passager j'espère.
J'aimerais obtenir la liste des items de la table lesson en excluant les items qui sont dans la table lesson_animal (table associative) en fournissant un id_animal.
Si id_animal=2 (truc2) Il faut sortir:
info2 et info4
info1 et info3 sont exclus car truc2 en fait déjà partie.
lesson(id_lesson,lesson_name)
1 info1
2 info2
3 info3
4 info4
lesson_animal(id_lesson,id_animal)
1 2
1 3
2 4
3 2
animal(id_animal,animal_name)
1 truc1
2 truc2
3 truc3
4 truc4
Est-ce clair ?
Merci de vos suggestion.
Message édité par polo7 le 16-08-2012 à 21:10:56