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

Résolu/Fermé
thepunky89 - 13 sept. 2007 à 11:55
 lode1001 - 4 déc. 2008 à 13:18
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
A voir également:

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
blux Messages postés 26011 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
13 sept. 2007 à 15:40
Prem's ! :-)
0
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;
0
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.
0
Dans ta requete, une des Clauses SELECT est "nettoyage.ecart". Est-ce normal ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oui c'est une erreur de ma part c'est "nettoyage.ecart" partout quand il y a "nettoyage.délai"
0
blux Messages postés 26011 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
13 sept. 2007 à 15:35
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...
0
lode1001 > blux Messages postés 26011 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024
4 déc. 2008 à 13:18
Bonjour
Merci pour la solution, j'ai le même problème et c'etait resolu.
Merci bien.
0
Merci à vos deux propositions et elles marchent. Donc merci beaucoup :).
Et pour Blux c'était le deuxième cas ;).
0
lol
-1