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 :

Left Join et Group By récupérer dernières valeurs


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Left Join et Group By récupérer dernières valeurs
    Bonjour,

    Je veux récupérer une liste de tous les anciens élèves avec les infos de leur dernier emploi :
    nom, prénom, le nom de son dernier emploi et le pays de ce dernier emploi.

    Table 'anciens' : liste des anciens élèves (nom, prenom)

    Table 'emploi' : liste des emplois des anciens élèves (id_emploi, id_ancien, nom_travail,pays_travail)

    Table 'type_pays' : liste de pays (id, libelle)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT el1.nom,el1.prenom,emp.nom_travail,tpaent.libelle
    FROM anciens el1
    LEFT JOIN emploi AS emp ON emp.id_ancien=el1.elev_id
    LEFT JOIN type_pays AS tpaent ON tpaent.id=emp.pays_travail
    GROUP BY emp.id_ancien
    ORDER BY emp.id_emploi DESC
    Mon problème est que cela récupère le premier emploi (id_emploi le plus petit) de chaque ancien élève. La clause order by n'influe pas sur le group by et je ne sais pas comment faire.

    Une idée ?

    Merci infiniment!!

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Inspires-toi de ce script : http://mysql.developpez.com/sources/...-par-categorie
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Merci mille fois.

    Voici ma solution si ça peut aider certains :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT DISTINCT el1.nom,el1.prenom,emp.nom_travail,tpaent.libelle
    FROM anciens el1
    LEFT JOIN emploi AS emp ON emp.id_ancien=el1.elev_id
    LEFT JOIN emploi emp2 ON emp2.id_ancien=emp.id_ancien
    LEFT JOIN type_pays tpaent ON tpaent.id=emp.pays_travail
    WHERE (
        SELECT COUNT(*)
        FROM emploi emp2
        WHERE emp2.id_ancien = emp.id_ancien
        AND emp2.id_emploi > emp.id_emploi
    ) < 1
     
    GROUP BY emp.id_ancien
    ORDER BY emp.id_emploi DESC
    Encore merci...

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

Discussions similaires

  1. left join et group by
    Par eclesia dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/08/2007, 09h19
  2. Réponses: 7
    Dernier message: 06/03/2006, 12h19
  3. clause GROUP BY & récupérer derniere valeur
    Par Stef784ever dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/11/2005, 17h40
  4. [Séquences] Pour récupérer la dernière valeur
    Par tnodev dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 24/05/2005, 11h35
  5. requete avec left join et group by
    Par slc dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/09/2004, 18h03

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