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

Requêtes et SQL. Discussion :

Requete Max absolu


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Août 2014
    Messages : 139
    Points : 63
    Points
    63
    Par défaut Requete Max absolu
    Bonjour à tous

    Je souhaite faire une requete allanrt me chercher par exemple le véhicule acheté en dernier
    J'ai donc une Table composée de 3 champs avec Nom DateAchat et Marque
    Si mes valeurs sont
    DUPONT 15/1/15 RENAULT
    DUPONT 15/2/16 PEUGEOT
    DUPONT 15/7/16 FIAT
    Je créé ma requête avec un regroupement et un max dans DateAchat. En l’exécutant, il me retourne les 3 résultats.
    Le résultat souhaité c'est que le dernier achat de M DUPONT fait en date du 15/7/16 a été d'acheter une FIAT .

    Jusqu'à maintenant j'avais réussi à contourner le problème mais là je n'ai plus d'alternatives.

    Quelles seraient les autres solutions que vous pourriez me proposer sachant que
    Ma base ne peut plus trop etre modifiée (rajouter une requete oui)
    Elle est diffusée et en service dans plusieurs sites

    Merci à vous pour votre aide

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Essayer ceci ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select M.Nom, M.Marque from matable M
    inner join (select max(DateAchat) from matable group by nom) MMAX
    on M.nom = MMAX.nom
    par contre il peut y avoir 25 dupont ou 53 durand différents dans la base !?

    pour moi il faudrait donc un identifiant unique qui ne soit pas le nom,
    soit id cet identifiant unique ...
    =>
    On pourrait partir sur ce genre de requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select M.id, M.Nom, M.Marque from matable M
    inner join (select max(DateAchat) from matable group by id) MMAX
    on M.id = MMAX.id
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Août 2014
    Messages : 139
    Points : 63
    Points
    63
    Par défaut
    Merci je vais tester ça
    Pour répondre à ta question, OUI
    A la base il s'agissait d'un fichier client sous excel avec tous les éléments nécessaires au métier
    Quand j'ai souhaité passer sous access, il fallait absolument garder l'historique et la possibilité de repasser assez rapidement sous Excel si ca ne fonctionnait pas ou mal
    Donc oui presque 2000 clients multiplier plusieurs fois avec des modifications dans les différents champs (adresse tel materiel... environ 80 champs)
    une usine à gaz...
    Rajouter à celà aucune connaissance, un peu d'aide à droite à gauche, les forums
    juste de la passion

  4. #4
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Pas de soucis, je ne suis ni sectaire, ni puriste, et parfois / souvent il faut faire avec les moyens du bord ...
    Le tout ici c'est de faire attention car un Dupont peut en cacher un autre
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  5. #5
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Août 2014
    Messages : 139
    Points : 63
    Points
    63
    Par défaut
    Oui c'est pour celà que j'ai concaténé le prénom avec et rajouter des verifs avec les dates de naissance...
    Mais j'aurai aimé pouvoir y rajouter des clés primaires et toutes les sécurités qu'il faudrait
    Donc je teste ton astuce
    Encore merci

Discussions similaires

  1. [WD12E] Résultat requete MAX faux
    Par prodi_64 dans le forum WinDev
    Réponses: 3
    Dernier message: 13/01/2009, 19h36
  2. Ecriture requete max de la différence
    Par calou_33 dans le forum SQL
    Réponses: 2
    Dernier message: 08/11/2008, 10h58
  3. Requete Max( count(*) )
    Par vanhel dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/05/2008, 09h00
  4. requete max par reference
    Par Commandeur dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 15/12/2007, 13h52
  5. Cherche la ligne avec le pivot max (absolue)
    Par Sevrynn dans le forum MATLAB
    Réponses: 5
    Dernier message: 05/03/2007, 15h41

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