Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2011, 11h06   #1
Invité de passage
 
Inscription : août 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 21
Points : 1
Points : 1
Par défaut Requête de moyenne entre différentes tables

Bonjour,
Je désire faire la moyenne entre différentes tables,
par exemple j'ai 4 tables avec les mêmes champs obtenues chaque jour, je veux obtenir la table de consolidation, çàd faire la moyenne des 4 tables

--> (Tableconsolidation.champ1= Moyenne (Table1.champ1 + Table2.champ1 + Table3.champ1 + Table4.champ1)

avec une jointure sur les ndi des 4 tables çàd
Code :
WHERE Table1.ndiFT=Table2.ndiFT=Table3.ndiFT=Table4.ndiFT
Merci.
kazabandi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 11h14   #2
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur de projet
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2010
Messages : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
Bonjour,

Ca devrait marcher:

Moyenne = (Table1.champ1 + Table2.champ1 + Table3.champ1 + Table4.champ1) / 4
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 11h39   #3
Invité de passage
 
Inscription : août 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 21
Points : 1
Points : 1
Merci pour ta réponse je veux l'essayer, par contrer je doit faire avant une jointure sur les ndi de 8 tables, afin d'obtenir les ndi commun entre ces 8 tables (chaque table contient 2 million de lignes avec ndi une clé primaire).

Avec inner join genre
Code :
1
2
3
4
5
 
INNER JOIN Table1 T1 ON (T.ndi=T3.ndi)
INNER JOIN Table2 T2 ON (T.ndi=T3.ndi)
INNER JOIN Table3 T3 ON (T.ndi=T3.ndi)
.......
ça risque d'être trop lent je pense.
kazabandi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 13h50   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 986
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 986
Points : 18 234
Points : 18 234
Envoyer un message via MSN à CinePhil
Pourquoi donc avoir fait 4 tables identiques ? Maintenant tu es embêté pour consolider les données !

Pourquoi parles-tu de 4 tables dans ton premier message et de 8 dans ton dernier ?

On peut avoir la structure des tables ?

Essaie ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT t.ndi, AVG(t.valeur) AS moyenne
FROM
(
    SELECT T1.ndi, valeur
    FROM Table1 T1
    UNION ALL
    SELECT T2.ndi, valeur
    FROM Table2 T2
    UNION ALL
    SELECT T3.ndi, valeur
    FROM Table3 T3
    UNION ALL
    SELECT T4.ndi, valeur
    FROM Table2 T4
) t
GROUP BY t.ndi
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h01.


 
 
 
 
Partenaires

Hébergement Web