Bonjour à tous, j'ai un problème de réflexion: j'ai des soucis pour faire une requête .
Je suis sous Firebird et j'ai une table qui contient les champs d'occupation.
dateDebutOccupation, duree, Emplacement, Occupation (m²)...
Je vous explique la situation: je gère des occupations de surfaces, le but de ma requete serait d'avoir l'occupation totale à une date donnée puis ensuite entre 2 dates.
J'ai fait un petit dessin pour être clair:
les flèches vertes sont les occupations (avec la surface occupée), A et B sont les dates qui définissent l'intervalle de temps, p1 à p6 sont les dates où l'occupation totale doit être calculée.
Mon idée est que pour avoir la surface maximale occupée entre les dates A et B, il faut que je fasse la somme des occupations de chacune des dates p1 à p6 + celles de A et B et prendre la somme la plus grande. J'ai déja les requetes pour ne sélectionner que les dates entre A et B mais je ne vois pas comment mixer le tout pour avoir ma selection du max de mes sommes.
J'espere que tout est clair , voilà mes 2 requetes en omettant l'emplacement:
Code :
SELECT dateDebutOccupation FROM Occupations WHERE dateDebutOccupation >=A ANDdateDebutOccupation <B
Code :
SELECT (dateDebutOccupation+duree) FROM Occupations WHERE (dateDebutOccupation+duree)>A AND(dateDebutOccupation+duree)<B
Voilà si vous avez des questions ou des idées... toute aide est la bienvenue car je suis pas loin de la pendaison
Merci
Partager