Bonjour à tous
J'ai :
- Une table spectacles
- Une tables schedules
- Une liaison de 1 à n (plusieurs dates pour un spectacle)
Je souhaite récupérer le spectacle le plus proche dans un lieu en privilégiant les dates dans le futur
J'ai essayé la requête suivante :
Mais avec ça, je ne parviens pas à privilégier les spectacles dans le futur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT DISTINCT (s.idspectacle) FROM spectacles s JOIN schedules sc ON sc.idspectacle = s.idspectacle WHERE sc.idcontact =360 GROUP BY s.idspectacle ORDER BY SIGN(DATEDIFF( NOW(), sc.date )), ABS(DATEDIFF(NOW(), sc.date)) LIMIT 0,1
Ce que j'ai besoin c'est de sortir soit le prochain spectacle, soit le dernier s'il n'y a pas de prochain.
Pour préciser, disons que :
- NOW() est le 25/11/2013
- spectacle1 est joué du 24/11/2013 au 30/11/2013
- spectacle2 est joué du 05/07/2014 au 10/07/2014
c'est spectacle2 qui sort en premier dans ma requête.
Merci d'avance pour vos idées
Partager