IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Double somme (SUM) entre deux tables ?


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Double somme (SUM) entre deux tables ?
    Bonjour,

    J 'ai 2 tables :
    Stats_catégorie comprenant trois champs :
    IDCatégorie (identifiant de la catégorié rattachée)
    Nb_clics (numérique)
    Date

    et Sites_fr :
    IDSites (identifiant de site)
    IDCatégorie (identifiant de la catégorie rattachée)

    Je veux calculer pour une période donnée (Date) le nombre de clics (Nb_clics) que j'ai en fonction de chaque catégorie (IDCatégorie) et en plus connaitre le nombre de sites que j'ai dans cette catégorie.

    Pour le nombre de clics pour une période par catégorie, le code suivant me parait conforme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT IDCatégorie,
    SUM(Stats_catégorie.Nb_clics) AS Nb_clics
     FROM Stats_catégorie
     WHERE Date='20051402'
     GROUP BY IDCatégorie
     ORDER BY Nb_clics DESC
    Mais après comment intégrer à cette requête le nombre de sites que j'ai dans cette catégorie ?

    D'avance merci,
    Patrick

  2. #2
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Points : 150
    Points
    150
    Par défaut
    Bonsoir,

    A moins que la fatigue ne me joue des tours, il suffit de rajouter une jointure vers la table Sites_fr et de faire un sum de IDSites.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT Stats_catégorie.IDCatégorie,
           SUM(Stats_catégorie.Nb_clics) AS Nb_clics,
           SUM(Sites_fr.IDSites) AS Nb_sites
    FROM Stats_catégorie, Sites_fr
    WHERE Stats_catégorie.IDCatégorie = Sites_fr.IDCatégorie
      AND Date='20051402'
    GROUP BY IDCatégorie
    ORDER BY Nb_clics DESC
    (Sympathique site que le votre, kibodio )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Merci pour la réponse.

    Par contre e résultat affiché est faux. La somme de SUM(Stats_catégorie.Nb_clics) donne un chiffre > à la réalité.

    Si vous pouvez me dire pourquoi ?

  4. #4
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Points : 150
    Points
    150
    Par défaut
    Serait-il possible de voir un exemple concret ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Je viens de modifier mes tables :

    Table Stats_catégorie contient :
    IDCatégorie
    Nb_clics
    Date

    Table Stats_sites_fr contient :
    IDCatégorie
    Nb_clics
    Date


    Le problème reste le même : faire la somme des Nb_clics de la table Stats_catégorie_fr pour une date et la somme des Nb_clics de la table Stats_sites_fr pour la même date ?

  6. #6
    Membre régulier Avatar de Titouf
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 177
    Points : 95
    Points
    95
    Par défaut
    Alors peut etre que dans une de tes colonnes sur lesquelles tu réalises une Somme, il y a des valeurs null qui faussent ton résultat. Les valeurs null ne sont pas considérés dans le calcul, et ne sont pas égales à zéro.
    voilà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Double jointure entre deux tables
    Par outland42 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 17/06/2015, 07h41
  2. Jointure et somme d'un produit entre deux tables
    Par juliensfm dans le forum Langage SQL
    Réponses: 30
    Dernier message: 07/05/2015, 15h09
  3. Access: double relation entre deux tables
    Par Michael_Access dans le forum Modélisation
    Réponses: 2
    Dernier message: 29/01/2015, 16h34
  4. SQL somme entre deux tables
    Par MASSAKA dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/09/2010, 10h47
  5. relation double entre deux tables
    Par thibautche dans le forum Langage SQL
    Réponses: 6
    Dernier message: 04/05/2005, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo