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

SQL Firebird Discussion :

Left Outer Join + sum


Sujet :

SQL Firebird

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 13
    Points
    13
    Par défaut Left Outer Join + sum
    Bonjour,
    J'ai une table (Tkm)comportant entre autres champs :
    LaDate
    LeVehicule
    LeKmEffectuéDansLaJournée

    Et un deuxième table (Tgo) comportant entre autres :
    LaDate
    LeVehicule
    LitredeGOPris

    A une même date deux (ou x) prises de GO peuvent exister.

    Pour obtenir mes totaux je fais :
    SELECT
    sum(Tkm.LeKmEffectuéDansLaJournée),
    sum(TGo.LitredeGOPris)
    from TKm
    LEFT OUTER JOIN Tgo
    ON tg.Ladate=TKm.LaDate
    And TGo.LeVehicule=TKm.LeVehicule
    Group By LeVehicule
    Le problème est que lorsqu'il existe 2 (ou x) prises pour le même jour et le même véhicule le kilométrage du jour est compté 2 (ou x) fois.
    Je bloque.
    D'avance merci.

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Oui c'est normal, vous faites une jointure.


    Ce qu'il faut faire c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT
    sum(Tkm.LeKmEffectuéDansLaJournée),
    sum((select sum(TGo.LitredeGOPris) from TGO where tgo.Ladate=TKm.LaDate
      And TGo.LeVehicule=TKm.LeVehicule))
    from TKm
    Group By LeVehicule
    Vous aurez le total Km et total GO par véhicule.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Super !
    C'est exactement cela, merci.

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

Discussions similaires

  1. Problème sum et left outer join from multi table
    Par nabilfaouzi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/01/2012, 13h06
  2. Bug LEFT OUTER JOIN Firebird
    Par Fabio2000 dans le forum SQL
    Réponses: 3
    Dernier message: 21/11/2005, 09h08
  3. Problème avec left outer join
    Par jgfa9 dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/08/2005, 21h07
  4. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 13h17
  5. concatenation de chaine dans un left outer join
    Par the_edge dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/11/2004, 16h08

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