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 MySQL Discussion :

Requete qui m'embete


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Par défaut Requete qui m'embete
    Bonjour à tous,
    J'ai une table carr_ind qui a la structure suivante :
    id_enreg - id_sal - date_enreg - centre - metier - type_contrat - nom_grille - indiceA - indiceB - indiceC - echelon - relqiaut_echelon - commentaire -modifieur - service - date_eve - motif - eve
    L'idée est de créer une requête mysql qui permet d'obtenir id_enreg - id_sal - date_eve où, pour chaque id_sal différent, il faut prendre la date_eve la plus récente à condition que le motif soit égal à "MOTIFDESIRE".
    Et si, en plus, je pouvais faire un petit ORDER BY centre - metier, ce serait le pied !
    Je sèche lamentablement. J'arrive bien à obtenir la date_eve la plus récente pour un id_sal avec une requete de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT max(date_eve), id_sal, id_enreg 
    from carr_ind 
    GROUP BY id_sal
    mais le problème c'est que l'id_enreg ne correpond pas à la valeur max...
    Ça sent la requête imbriquée mais je sais pas faire du tout.
    Merci d'avance à ceux qui prendront le temps de me lire et éventuellement de tenter de m'aider.
    Sanman

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Bonjour,

    Pour toutes les requêtes du type "la date la plus récente de chaque...", il faut s'inspirer de l'exemple donné dans les sources MySQL ici : http://mysql.developpez.com/sources/...-par-categorie.
    Effectivement, ça passe par une requête imbriquée.

    La raison pour laquelle l'id_enreg ne correspond pas, c'est parce que dans le GROUP BY, il faut mettre toutes les colonnes qui font partie du SELECT et qui ne sont pas dans une fonction d'agrégation (donc pas dans le MAX(...)).

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

Discussions similaires

  1. Réponses: 21
    Dernier message: 30/03/2005, 17h22
  2. [SQL] une requete qui fait mal a la tete
    Par MailOut dans le forum Langage SQL
    Réponses: 7
    Dernier message: 07/02/2005, 16h22
  3. une requete qui fonctionne aux 3/4...
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 22h08
  4. [VB6] recuperer une requete qui renvoie du xml
    Par voyageur dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 15/12/2004, 10h03
  5. Requete qui ne s'occupe pas de la casse
    Par tripper.dim dans le forum SQL
    Réponses: 2
    Dernier message: 09/12/2004, 19h17

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