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

Résolu
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

  1. 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
    1. Modérateur
      Prem's ! :-)
      0
  2. 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
    1. 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
      1. Dans ta requete, une des Clauses SELECT est "nettoyage.ecart". Est-ce normal ?
        0
        1. Oui c'est une erreur de ma part c'est "nettoyage.ecart" partout quand il y a "nettoyage.délai"
          0
          1. Modérateur
            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
          2. @bluxBonjour
            Merci pour la solution, j'ai le même problème et c'etait resolu.
            Merci bien.
            0
        2. Merci à vos deux propositions et elles marchent. Donc merci beaucoup :).
          Et pour Blux c'était le deuxième cas ;).
          0