Bonsoir,

Je m'arrache les cheveux depuis hier sur quelque chose qui va peut être vous apparaître très simple :

J'ai une table adresse dont la description simplifiée est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
id_adresse INT 11
id_client INT 7
adresse VARCHAR 100
date_debut DATE
date_fin Date
Un même id_client peut avoir plusieurs adresse.

Les dates de débuts et de fin me donnent la validité d'une adresse.

Je me retrouve dans le cas suivant : un client à 2 adresses dont l'une est ouverte depuis le 1 octobre et sans date de fin et l'autre est ouverte du 24 octobre jusqu'au 7 novembre.

Le client a donc mis une adresse temporaire.

Ma requete me retourne les 2 adresses alors que je ne voudrais dans le cas présent que la provisoire.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT *
FROM clients
WHERE (CURDATE() < date_fin
OR adr_date_debut <= CURDATE()
AND date_fin = '0000-00-00')
Une suggestion ?

Merci d'avance