Bonjour,
J'ai le problème suivant:
J'ai une table Commandes :
donc j'ai quatres clients (1,2,3,4)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 IdClient, NCommande, MontantCommande 1 | 12 | 120,00 2 | 13 | 650,00 3 | 14 | 1700,00 2 | 15 | 1400,00 2 | 16 | 250,00 1 | 17 | 500,00 3 | 18 | 700,00 1 | 19 | 200,00 4 | 20 | 1000,00
le client 1 a passé 3 commandes de 120.00, 500.00 et 200.00 euros soit 820.00 au total.
le client 2 a passé 3 commandes de 650.00,1400.00 et 250.00 euros soit 2300.00 au total.
le client 3 a passé 2 commandes de 1700.00 et 700.00 euros soit 2400.00 au total.
le client 4 a passé une seule commande de 1000.00 euros.
J'ai une autre table Clients qui a la forme suivante:
idClient, Nom, Adresse, montantTotalDesCommandes
les 3 premiers champs sont remplis (idClient, Nom, Adresse).
le champ montantTotalDesCommandes est vide.
ma question est:
comment remplir le champ montantTotalDesCommandes de la table Clients sans passer par une table intermidiaire dans laquelle il y a idClient et montantTotalDesCommandes, ensuite faire une jointure entre cette table et la table Clients?
Je cherche une requete SQL sous forme:
donc une requete SQL qui utilise une table généré temporairement par une requete SELECT dans une JOINTURE (INNER JOIN).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE Clients INNER JOIN (SELECT idClient, SUM(MontantCommande) AS MTC FROM Commandes) ON Clients.idClient = quelqueChose qui fait référence à idClient de la table Commandes SET Clients.montantTotalDesCommandes = quelquechose qui fait référence au champ calculé MTC.
Je ne sais pas si c'est possible sous MS ACCESS 2003.
Merci
Partager