bonjour à tous.

Voilà, j'ai un projet qui mobilise mes compétences SQL, qui datent de quelques années... J'ai l'impression de repartir de zéro, et ce n'est pas simple!!!!
Je commence mes scripts simples, et j'ai déjà des soucis...

J'attaque une base de données via un petit outil de Business intelligence. L'idée est d'attaquer une table (Ensemble_des_pleins) et d'en extraire des infos précises. Cette table répertorie tous les pleins réalisés par mes véhicules (grosse masse d'information). Mon but, c'est d'être capable de sommer les volumes de carburant sur une période donnée, et de connaître le nombre de km parcouru (à chaque fois qu'un chauffeur fait le plein, il indique le nombre de km au compteur).

Voici une vue de la table Ensemble_des_pleins (qui ne s'appelle pas comme cela dans ma base réelle) (cf piece jointe "table des pleins").
Nom : table des pleins.PNG
Affichages : 322
Taille : 25,2 Ko


Dans un premier temps, j'essaye de récupérer le dernier plein de la période (la période sera un champ de filtre dans la feuille excel de restitution).

Pour cela, j'ai rédigé ce morceaux de script :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Select PLEINS.ID_VEHICULE,
    Max(PLEINS.DATPLN) As DATE_DERNIER_PLEIN
  From PLEINS
  Group By PLEINS.ID_VEHICULE
Je récupère bien le dernier plein réalisé pour chaque véhicule. Maintenant, l'idée c'est de n'avoir qu'une ligne par véhicule, de la table Ensemble_des_pleins, et d'y rajouter la date de mon dernier plein.

J'ai donc commencé à rédiger ceci, sans succès :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Select PLEINS.ID_VEHICULE, SUM(VOLPLN) as VOLUME_DES_PLEINS, DERNIERPLEIN.DATE_DERNIER_PLEIN
From PLEINS
 
  Left Join (Select PLEINS.ID_VEHICULE,
                Max(PLEINS.DATPLN) As DATE_DERNIER_PLEIN
                From PLEINS
                Group By PLEINS.ID_VEHICULE) As DERNIERPLEIN
  ON PLEINS.ID = DERNIERPLEIN.ID
 
GROUP BY PLEINS.ID_VEHICULE

Et je n'ai rien en faisant cela. Je dois avoir un soucis de logique SQL, mais je n'arrive pas à savoir où.

Merci d'avance pour votre aide.

PS : je ne suis pas habitué du site, peut être y a t il un moyen plus sexy d'insérer du contenu SQL?