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

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

  1. ShaBoo
     
    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. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Prem's ! :-)
      0
  2. ShaBoo
     
    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
  3. thepunky89
     
    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
  4. ShaBoo
     
    Dans ta requete, une des Clauses SELECT est "nettoyage.ecart". Est-ce normal ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. thepunky89
     
    Oui c'est une erreur de ma part c'est "nettoyage.ecart" partout quand il y a "nettoyage.délai"
    0
    1. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      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
      1. lode1001 > blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Bonjour
        Merci pour la solution, j'ai le même problème et c'etait resolu.
        Merci bien.
        0
  7. thepunky89
     
    Merci à vos deux propositions et elles marchent. Donc merci beaucoup :).
    Et pour Blux c'était le deuxième cas ;).
    0