Totaux de somme de plusieurs tables

Signaler
Messages postés
297
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
1 juin 2021
-
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021
-
Bonjour,

j'ai terminer un programme de gestion d'institut de massage.
j'ai 3 tables (table1,2,3)
avec date, type de massage, prix et total.
j'aimerai avoir le total par date
total=total1+total2+total3.
le sql ci dessous me donne des montants erronés:
SELECT Sum(Relaxe.Total) AS [somme relax], Sum([Relaxe+].Total) AS [somme relax+], Sum(Traitement.Total) AS [somme traitement], Relaxe.Dat
FROM Traitement, Relaxe, [Relaxe+]
GROUP BY Relaxe.Dat;


merci

Configuration: Windows / Chrome 90.0.4430.212

6 réponses

Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021
867
bonjour,
essayons de t'aider à comprendre ce que tu fais:
ajoute les deux autres dates dans la requête.
Messages postés
297
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
1 juin 2021
33
je vais essayer de clarifier le plus possible.
j'ai un salon de massage qui propose 3 formules.
1- Relax (date, montant1)
2-Relax+(date, montant2)
3-Traitement (date, montant3)
je voudra créer une requête pour connaitre la recette par date.
exemple : le 31.05.2021
Relax=2500
Relax+=5000
Traitement=4500
total:12000.
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021
867
as-tu testé ma suggestion?
Messages postés
297
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
1 juin 2021
33
oui mais ça ne me donne pas ce que je veux.
c'est à dire les totaux par jours.
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021
867
montre la requête modifiée et le résultat obtenu, je pense que cela va te guider vers une solution.
Messages postés
297
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
1 juin 2021
33
j'ai créer 3 requêtes, une pour chaque formule.
et un 4éme qui réuni les 3 requêtes.
1-
SELECT DISTINCTROW Relaxe.Dat AS [Date], Sum(Relaxe.Total) AS [Somme De Relax]
FROM Relaxe
GROUP BY Relaxe.Dat;
2-
SELECT DISTINCTROW Relaxe.Dat AS [Date], Sum(Relaxe.Total) AS [Somme De Relax]
FROM Relaxe
GROUP BY Relaxe.Dat;
3-
SELECT DISTINCTROW Traitement.dat AS [Date], Traitement.Total AS [Somme Traitement]
FROM Traitement
GROUP BY Traitement.dat, Traitement.Total;


4-
SELECT [somme Requête].Date, [somme Requête].[Somme Relax plus], [somme relax plus].[Somme De Relax], [somme Traitement].[Somme Traitement]
FROM [somme Requête], [somme relax plus], [somme Traitement];

ça m'affiche le total d'une formule par journée, mais pas le total des formules par journée
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021
867
je suppose que, dans la requête 4, tu utilises les noms des trois premières?
il serait alors utile de nous indiquer le nom de chaque requête.
les requêtes 1 et 2 ont l'air identiques, je me trompe?

tu en arrives maintenant à pouvoir appliquer ma suggestion du 30 mai 2021 à 19:55:
ajoute les deux autres dates dans la requête.


dans la requête 4, ajoute deux dates, pour avoir les dates de chacune des requêtes 1, 2, et 3.
Messages postés
297
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
1 juin 2021
33
je rectifie:le nom des requêtes:

somme relax
SELECT DISTINCTROW Relaxe.Dat AS [Date], Sum(Relaxe.Total) AS [Somme De Relax]
FROM Relaxe
GROUP BY Relaxe.Dat;
Somme Relax+
SELECT DISTINCTROW [Relaxe+].dat AS [Date], Sum([Relaxe+].Total) AS [Somme Relax plus]
FROM [Relaxe+]
GROUP BY [Relaxe+].dat;
Somme Traitement

SELECT DISTINCTROW Traitement.dat AS [Date], Traitement.Total AS [Somme Traitement]
FROM Traitement
GROUP BY Traitement.dat, Traitement.Total;

total
SELECT DISTINCTROW Relaxe.Dat AS [Date], Sum(Relaxe.Total) AS [Somme De Relax], Sum([Relaxe+].Total) AS [Somme De Relax+], Sum(Traitement.Total) AS [Somme De Traitement]
FROM Traitement, Relaxe, [Relaxe+]
GROUP BY Relaxe.Dat;
Messages postés
297
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
1 juin 2021
33
SELECT DISTINCTROW Relaxe.Dat AS [Date], Sum(Relaxe.Total) AS [Somme De Relax], Sum([Relaxe+].Total) AS [Somme De Relax+], Sum(Traitement.Total) AS [Somme De Traitement], Traitement.dat AS [Date T], [Relaxe+].dat AS [Date R+]
FROM Traitement, Relaxe, [Relaxe+]
GROUP BY Relaxe.Dat, Traitement.dat, [Relaxe+].dat;


ça ne marche pas du tout!
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021
867
bien sûr que cela ne marche pas.
examine les données produites, cela t'aidera à comprendre ce que tu fais.
si c'est confus, recommence avec moins de données dans les tables.
n'hésite pas à décrire et à partager le résultat obtenu.