Sélection sur plusieurs tables, groupé par date
Bonjour,
Suite à un projet personnel, je fais face à un problème que je n'arrive pas à régler, ni trouver de solution.
Alors voilà, j'ai 8 tables dans ma base de données, suivant la même structure : myDate, myLibellé, myValeur, ID.
Je souhaite faire la moyenne par jour, sur une longueur de 30 jours, voici ce que j'ai :
Code:
SELECT AVG(myValeur) FROM myTable WHERE myLibellé REGEXP 'XXXX' AND myDate > DATE(SUBDATE(NOW(),31)) GROUP BY DATE(myDate);
Cette requête me sors bien ce que je souhaite, soit des moyennes par jour, j'ai donc en retour 30 lignes de myValeur.
J'ai oublié de dire que je récupère ces données sur Excel via un client ODBC. Je rentre donc mes 8 requêtes et tire de ces requêtes 8 tableaux. Je fais un 9eme tableaux avec les maximums par jour. Jusque là, rien de compliquer.
Cependant, je suis confronté à un problème : Sur mes 8 tableaux, je n'ai pas forcément des valeurs tous les jours. Il se peut que (par exemple) le 10/06/19 j'ai des données dans toutes mes tables sauf une et de ce fait, le maximum de mon tableau est faussé (décallage au niveau du tableau qui n'a pas eu de donnée le 10/06/19.
J'ai donc pensé à faire une seule requête, de sorte à ce que je ressorte un seul tableau de 9x30 (8 tables + dates x 30 jours de valeur moyenne). De ce fait, je n'aurais plus à me poser la question de si ma table a effectué des enregistrements ou non. Si elle n'en a pas fait, cela laissera un vide et ne sera pas compter dans le graphique que je tracerais.
J'ai voulu donc faire des UNION, JOIN, etc... mais sans succès.
Si vous avez des idées ou des explications quant a l'utilisation de ces dernières, je suis preneur.
Merci d'avance.