Bonjour à tous,
Je n'arrive pas à faire une requête qui parait simple mais qui pose problème à cause de la manière dont sont stockés les enregistrements en base de données.
J'ai une table contenant une date de début, une date de fin et la disponibilité.
Voici un exemple:
28-05-09 au 31-05-09 disponible
01-06-09 au 03-06-09 disponibe
04-06-09 au 25-06-09 indispoinble

Une personne fait une recherche de dispo du 28-05-09 au 03-06-09, la requête devrait retourner qu'il y a des disponibilités mais pas moyen car il y a 2 enregistrements stockés en base de données.
J'avais fait cette requête:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT date_debut, date_fin, disponible 
FROM 'matable' 
WHERE 
'2009-5-28' BETWEEN begdate AND enddate 
  AND '2009-6-3' BETWEEN begdate AND enddate  
  AND disponible=1
Mais évidemment ca ne fonctionne pas dans ce cas puisque 2 enregistrements sont stockées dans la DB pour cette période.
Merci d'avance pour votre aide.