Bonjour,
Initialement, j'ai un peu travaillé dans Access où je faisait mes requêtes au moyen du QBE. Actuellement, je me mets à utiliser MySQL et j'aimerais réutiliser une série de requêtes que j'utilisais dans Access.
Au départ de trois tables (schéma en pièce jointe), je voulais obtenir des données agrégées. Il y a une table Client, reprenant les clients potentiels. Il y une table des dépenses ordinaires de ces clients et une table des dépenses extra-ordinaires de ces clients.
Le résultat que je voulais obtenir était le suivant : avoir la dépense totale par client (en sachant que la dépense totale est la somme des dépenses ordinnaires et extra-ordinaires).
Pour y arriver je passais par trois requêtes :
Requete1
Requete2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Client.NumClient, Client.Age, Sum(Depense_Base.Montant) AS Dep_Base FROM Client LEFT JOIN Depense_Base ON Client.NumClient = Depense_Base.NumClient GROUP BY Client.NumClient
Requete finale
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Client.NumClient, Client.Age, Sum(Depense_Extra.Montant) AS Dep_Extra FROM Client LEFT JOIN Depense_Extra ON Client.NumClient = Depense_Extra.NumClient GROUP BY Client.NumClient
J'ai donc deux questions sur cet exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Client.NumClient, Client.Age, [requete1.Dep_Base]+[requete2.Dep_Extra] AS Dep_Tot FROM (Client LEFT JOIN requete1 ON Client.NumClient = requete1.NumClient) LEFT JOIN requete2 ON Client.NumClient = requete2.NumClient
Premièrement,
Comment faire pour utiliser cette troisième requête dans MySQL ? Puisque dans Access, la troisième requête a été élaborée au moyen de deux autres requêtes?
Deuxièmement,
(c'est certainement lié au premier point) N'y a-t-il pas moyen de "regrouper" ces requêtes en une seule étape ? J'ai regardé la documentation relative aux sous-requêtes mais je ne trouve pas (ou pas encore) un cas qui pourrait m'aider.
Partager