Bonjour à tous,

Quelqu'un aurait une idée pour optimiser cette requête sous MySql 5 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SELECT * FROM appartement a WHERE 
(
a.AppartId NOT IN (SELECT r.AppartId FROM reservation r WHERE '2008-08-29' BETWEEN ResaDebut AND ResaFin)
OR a.AppartId NOT IN (SELECT r.AppartId FROM reservation r WHERE '2008-08-30' BETWEEN ResaDebut AND ResaFin)
OR a.AppartId NOT IN (SELECT r.AppartId FROM reservation r WHERE '2008-08-31' BETWEEN ResaDebut AND ResaFin)
/*... SUR 30 jours */
)
Le but étant de lister tous les appartements qui n'apparaissent pas au moins une fois sur une date donnée ?

De plus, savez-vous comment obtenir le nombre de jours disponibles (idéalement successif) dans cette même requête ?

Encore merci à ceux qui pourront me venir en aide.