Bonjour
J'ai deux tables SQL
ligne (id, libellé, num_course)
validite_course(num_course, valide, date_debut, date_fin)
La clonne validite_course.valide peut être à OUI ou NON, Si c'est à OUI il faudra voir si la date système est comprise entre date_debut et date_fin
Ce que je cherche à écrire c'est une requete qui m'affiche les ligne valides (donc dont le num_course existe dans la table validite_course) AINSI que les lignes dont num_course n'existe PAS dans la table validite_course
J'ai essayé ceci :
ça donne bien un bon résultat mais la requete est trop lente car j'ai des milliers d'enregistrements dans la table ligne et quelques 2000 enreg dans validite_course
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT id FROM ligne L, vailidite_course VC WHERE ( L.num_course = VC.num_course AND valide = 'OUI' AND sysdate() BETWEEN date_debut AND date_fin ) OR L.num_course <> VC.num_course
Y-a-t-il une possibilité d'optimisation ?
Merci
PS : j'utilise MySQL 4, je ne peux donc pas utliser les requetes imbriquées
Partager