Somme de deux requête en une en sql/access

Résolu/Fermé
Signaler
-
 lode1001 -
Voilà actuellement j'ai ceux-ci

SELECT sum(lavage.délai)
FROM lavage
WHERE lavage.equipe = '1'

SELECT sum(nettoyage.délai)
FROM nettoyage
WHERE nettoyage.equipe = '1'

Et j'aimerai avoir la somme de ces deux requêtes donc j'ai essayé ceci :

SELECT sum(lavage.délai)+sum( nettoyage.ecart)
FROM lavage, netttoyage
WHERE lavage.equipe = '1' and nettoyage.equipe = '1';


Mais ça ne marche pas, il ne prend pas en compte le " nettoyage.equipe = '1' " et m'addition ceux de l'équipe 1 du lavage avec toutes les équipe du nettoyages. Alors que séparément les requêtes donnent le bon résultat.

merci d'avance

7 réponses

re ...

J'ai fait des recherches, et j'ai trouvé une astuce SQL. Voilà ce que j'ai trouvé.

Pour la tester, j'ai créé 2 tables sous access, avec des col se rapprochant de la structure de tes tables :



SELECT DISTINCT(SELECT SUM(ecart) FROM Table1 WHERE equipe = 1) + (SELECT SUM(ecart) FROM Table2 WHERE equipe = 1)
FROM Table1;

Et ça marche ...
5
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
23780
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
8 décembre 2021
3 148
Prem's ! :-)
Bonjour,
essaye ça

SELECT sum(lavage.délai)+sum( nettoyage.ecart)
FROM lavage, netttoyage
WHERE lavage.equipe = '1' and nettoyage.equipe = '1'
AND lavage.equipe = nettoyage.equipe;
Hélas j'ai toujours le même résultat ... il prend toujours pas en compte que je veux que l'équipe 1 du nettoyage et non les trois que j'ai.
Dans ta requete, une des Clauses SELECT est "nettoyage.ecart". Est-ce normal ?
Oui c'est une erreur de ma part c'est "nettoyage.ecart" partout quand il y a "nettoyage.délai"
Messages postés
23780
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
8 décembre 2021
3 148
Salut,

tu veux ajouter les résultats des tables ou faire l'addition des deux résultats ?

Dans le premier cas, il faut utiliser le mot-clé UNION pour faire une addition ensembliste.

Dans le deuxième cas, il faut créer deux sous-requêtes que l'on appelle dans une seule, genre :
SELECT DISTINCT ((SELECT Sum(id) AS Expr1 FROM A WHERE (A.Id)=4)+(select Sum(id) AS Expr1 FROM A WHERE (A.Id)=6)) AS Expr1
FROM a;
Ce n'est qu'un exemple...
>
Messages postés
23780
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
8 décembre 2021

Bonjour
Merci pour la solution, j'ai le même problème et c'etait resolu.
Merci bien.
Merci à vos deux propositions et elles marchent. Donc merci beaucoup :).
Et pour Blux c'était le deuxième cas ;).