Je construis ce rapport dans un système pour une société Billboard. Ils ont une table qui stocke tous leurs panneaux d'affichage, et entre autres données, les panneaux d'affichage ont une date de début et une date de fin (les deux peuvent être nulles).
Si, pour quelque raison que ce soit, un panneau d'affichage doit cesser d'être utilisé, il fixe une date de fin et il deviendra impossible de l'utiliser après cette date. Idem avec Date de début (dans le cas où ils ont juste mis en place une nouvelle carte et il sera disponible pour une utilisation après une date de début définie).SQL Looping
Dans ce rapport, je dois obtenir la somme de tous les spots publicitaires possibles sur une période donnée.
Alors, laisse dire que, pour la période que j'ai choisi (4 semaines, par exemple)
* En semaine 1 il y a 500 planches avaiable
* En semaine 2 un conseil d'administration est devenu indisponible (faisant 498 planches avaiable)
* En semaine 3 deux planches se sont avaiable (faisant 501 planches avaiable)
* En semaine 4 un conseil d'administration est devenu avaiable et un autre est devenu indisponible (faisant 501 planches avaiable)
alors je devrais avoir un total de 1990 conseils avaiable dans cette période, c'est le résultat que je suis après.
Comment puis-je obtenir ceci dans une seule requête?
Les semaines viendront d'un formulaire HTML et je dois les convertir en dates avant la requête, donc je vais juste avoir les dates où je veux savoir combien de cartes sont disponibles.
La requête pour obtenir le montant des conseils pour un jour spécifique est comme ceci:
SELECT
COUNT(IdBillboard)
FROM
tBillboards
WHERE
(StartDate IS NULL OR StartDate <= '2009-01-05 00:00:00')
AND (FinishDate IS NULL OR FinishDate >= '2009-01-05 00:00:00')
Je ne peux pas ajouter AND
et OR
conditionals pour chaque jour parce que je dois un peu un nouveau dépouillement judiciaire pour les dates distinctes. J'ai pensé à l'aide d'un WHILE
mais je ne pouvais pas comprendre exactement comment le faire pour cette affaire. Voilà où je suis coincé ... Je posterai plus de détails si quelqu'un en a besoin.
Merci, Gabe
Je pense que vous vouliez dire 498 planches dans la semaine 2. – achinda99
Haha. Je l'ai réparé. Merci – Gabe
Est-ce que tout est toujours délimité par semaine? –