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 :

[SQL] Enlever les doublons par rapport a une colonne


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Points : 43
    Points
    43
    Par défaut [SQL] Enlever les doublons par rapport a une colonne
    Bonsoir, voici ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT l.isbn as isbn, l.titre as titre, e.nom as editeur,
                a.nom as auteur, m.mot as mot, avg(c.note) as note, 
                count(c.note) as nbcomment
                FROM livres l INNER JOIN Commentaires c ON c.isbn = l.isbn 
                INNER JOIN Editeurs e ON e.id = l.Editeur 
                INNER JOIN Livres_auteurs la ON la.isbn = l.isbn 
                INNER JOIN Livres_mots_cles lmc ON lmc.isbn = l.isbn 
                INNER JOIN Mots_cles m ON lmc.id_mots_cles = m.id 
                INNER JOIN Auteurs a ON la.id_auteur = a.id
                GROUP BY l.isbn,l.titre,l.editeur,a.nom,e.nom,m.mot
                ORDER BY auteur
    Mon souci est qu'un livre peut disposer de plusieurs auteurs. Donc cette requete me fournit le livre avec des champs auteurs différents
    Or , je ne veux que des livres différents ( qui possèdent des ISBN differents ) , mais en conservant 1 des auteurs ( celui qui possède la plus petite lettre alphabétique par exemple) ...
    J'ai voulu adopter la méthode founie ici : http://sql.developpez.com/doublons/ mais je ne m'en sort pas ...
    Si une personne aurait la solution ...
    Merci d'avance

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT l.isbn as isbn, l.titre as titre, e.nom as editeur, 
           MIN(a.nom) as auteur, m.mot as mot, avg(c.note) as note, 
           count(c.note) as nbcomment 
    FROM livres l INNER JOIN Commentaires c ON c.isbn = l.isbn 
                  INNER JOIN Editeurs e ON e.id = l.Editeur 
                  INNER JOIN Livres_auteurs la ON la.isbn = l.isbn 
                  INNER JOIN Livres_mots_cles lmc ON lmc.isbn = l.isbn 
                  INNER JOIN Mots_cles m ON lmc.id_mots_cles = m.id 
                  INNER JOIN Auteurs a ON la.id_auteur = a.id 
    GROUP BY l.isbn,l.titre,l.editeur,e.nom,m.mot 
    ORDER BY auteur
    Mais tu auras toujours autant de lignes qu'il y a de mots-clés...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Un grand merci à toi Médiat, c'est exactement ce que je voulait ...
    Merci beaucoup

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/08/2011, 13h22
  2. Réponses: 2
    Dernier message: 14/09/2009, 16h47
  3. Réponses: 8
    Dernier message: 23/11/2007, 17h46
  4. Réponses: 3
    Dernier message: 19/03/2007, 18h29
  5. une fonction pour enlever les doublons d'un array
    Par secteur_52 dans le forum Delphi
    Réponses: 1
    Dernier message: 27/06/2006, 13h45

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