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

Langage SQL Discussion :

Jointure un peu compliquée


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Jointure un peu compliquée
    Bonjour,

    Je cherche à faire une requête un peu particulière mais je ne m'en sors pas, n'étant pas un grand spécialiste de la chose.

    Je voudrai ressortir 1 ligne par enregistrement de ma table 1 avec la valeur la plus récente liée dans ma table 2

    Merci par avance pour votre aide

    J'ai 2 tables : Table1 et Table2

    Table1 contient 3 enregistrements de Enr1 à Enr3
    ID    Libellé
    1     Enr1
    2     Enr2
    3     Enr3
    Table2 contient des datas horodatées liées à ma table1 par l'ID
    ID_Table1   Date     Valeur
    1               25/06    Val
    1               26/06    Val
    1               27/06    Val
    2               25/06    Val
    2               26/06    Val
    2               27/06    Val
    3               25/06    Val
    3               26/06    Val
    3               27/06    Val
    Résultat souhaité :
    ID    Date    Val
    1     27/06   Val
    2     27/06   Val
    3     27/06   Val

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'ai bien lu ces articles mais n'étant pas un expert confirmé, je patauge

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Le principe est de rechercher la date maxi pour chaque ID [mettre Datecomme nom de colonne n'est pas vraiment une très bonne idée ]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Id,
       MAX(date) -- grrrr :aie:
    FROM Table 2
    GROUP BY Id
    et d'indiquer la Valà cette date et pour ce Iden regardant le résultat que tu souhaites, pas besoin de jointure avec l'autre table, mais cela dépendra de ce que tu attends (présence de Libelle) [evitez les accents dans les noms de colonne ]

    cela pourrait donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Table2 .Id, Table2.Date, Table2.Val  
    FROM (SELECT Id,
       MAX(date) As Maxi -- grrrr :aie:
    FROM Table 2) AS Selection
        INNER JOIN Table2 ON Table2.id = Selection.Id AND Table2.Date = Selection.Maxi
    Plus simple encore, s'il n'y a qu'une Valpar Date...

    et pense aux balises

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je te remercie pour cette réponse hyper efficace et qui fonctionne
    J'ai rajouté un GROUP BY ID sur le 2ème SELECT sinon j''avais une erreur.

    Comme on ne s'appuie pas sur Table1, si pas d'enregistrement sur un ID donné dans la table2 rien ne sort pour cet ID mais ce n'est pas bien grave car cela ne doit pas arriver (ou juste quelques secondes après la création d'un nouvel ID)

    Le nom des colonnes n'était que pour l'exemple bien sûr, pour de vrai, c'est pas comme ça

    Encore un grand merci

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par Idefix69 Voir le message
    Je te remercie pour cette réponse hyper efficace et qui fonctionne
    J'ai rajouté un GROUP BY ID sur le 2ème SELECT sinon j''avais une erreur.
    Bizarre, normalement pas nécessaire
    Citation Envoyé par Idefix69 Voir le message
    Le nom des colonnes n'était que pour l'exemple bien sûr, pour de vrai, c'est pas comme ça
    ouf

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

Discussions similaires

  1. Mise à jours des points de parrainage un peu compliquée
    Par piere33 dans le forum Requêtes
    Réponses: 5
    Dernier message: 25/10/2006, 18h35
  2. Requete un peu compliqué pour moi
    Par passie dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/04/2006, 15h08
  3. [MySQL 4.1.17] requete un peu compliqué à faire
    Par Zen_Fou dans le forum Administration
    Réponses: 1
    Dernier message: 26/04/2006, 17h41
  4. code une somme un peu complique
    Par Battosaiii dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 08/04/2006, 16h00
  5. [SQL - ORACLE] Requete un peu compliquée (pour moi)
    Par Worldofdada dans le forum Langage SQL
    Réponses: 15
    Dernier message: 03/11/2005, 08h25

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