Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2011, 15h59   #1
Invité régulier
 
Monsieur Hulot
Inscription : février 2010
Messages : 8
Détails du profil
Informations personnelles :
Nom : Monsieur Hulot

Informations forums :
Inscription : février 2010
Messages : 8
Points : 5
Points : 5
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 :
Citation:
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.
Mr Hulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 16h06   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Oui c'est normal, vous faites une jointure.


Ce qu'il faut faire c'est :

Code :
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.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 16h40   #3
Invité régulier
 
Monsieur Hulot
Inscription : février 2010
Messages : 8
Détails du profil
Informations personnelles :
Nom : Monsieur Hulot

Informations forums :
Inscription : février 2010
Messages : 8
Points : 5
Points : 5
Super !
C'est exactement cela, merci.
Mr Hulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h45.


 
 
 
 
Partenaires

Hébergement Web