Il y a dans ma base de données 3 tables :
- Site
- Compteur
- ReleveCompteur
Comme vous pouvez l'imaginer, un releveCompteur est rattaché à un compteur et un compteur est rattaché à un site.
Je dois pouvoir récupérer le dernier relevé de chaque site.
Pour ce faire, pour l'instant je exécute la requête suivante sur chaque site :
SELECT s.nom, rc.date, rc.valeur
FROM Site s, ReleveCompteur rc, Compteur c
WHERE s.id = [l'id du site]
AND c.siteId = s.id
AND rc.compteurId = c.id
ORDER BY rc.date DESC LIMIT 1;
Jusqu'ici ça allait très bien car j'avais seulement quelques sites de test.
Je devrais bientôt en avoir plusieurs centaines, donc je me vois mal faire 2000 fois la même requête.
Y'a t'il donc un moyen de récupérer de dernier relevé de chaque site en une seule requête ?