Bonsoir,
Je veux faire une requête dans ma base de données pour extraire dans le catalogue les produits avec le bon n° de catalogue en fonction de la date du jour.
Ma table catalogues ci-dessous
Le champ nbr_jours est en fait le nombre de jour entre CURDATE() et aujourd'hui que j'obtiens avec un DATEDIFF().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 produit date_debut nbr_jours date_fin catalogue 4043 01/06/09 476 00-00-00 173 5295 01/06/09 476 00-00-00 173 5295 01/08/10 50 24/10/10 328 5304 01/06/09 476 00-00-00 173 5304 01/08/10 50 24/10/10 328 5456 01/06/09 476 00-00-00 173 5459 01/06/09 476 00-00-00 173
Ma requête initial
Le résultat que je souhaite avoir est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT produit, date_debut, DATEDIFF(curdate(), date_debut) AS 'nbr_jours',, date_fin, catalogue FROM catalogue WHERE (CURDATE() BETWEEN date_debut AND date_fin OR date_debut <= CURDATE AND date_fin = '00-00-00'
Je n'arrive pas à faire fonctionner mes méninges pour avoir ce résultat, sauf à le faire en plusieurs requêtes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 produit date_debut nbr_jours date_fin catalogue 4043 01/06/09 476 00-00-00 173 5295 01/08/10 50 24/10/10 328 5304 01/08/10 50 24/10/10 328 5456 01/06/09 476 00-00-00 173 5459 01/06/09 476 00-00-00 173
Merci d'avance pour vos lumières
Partager