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 :

Selection sans doublons


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 46
    Points : 37
    Points
    37
    Par défaut Selection sans doublons
    Bonjour,

    J'ai un petit probleme avec une de mes requêtes SQL, j'ai une table qui contient diverses informations sur des Dvds.
    Je travaille sous SQL Server 2005
    J'ai donc un champ ID de type int auto increment et d'autre champs de type varchar.
    J'ai un champ TITRE correspondant au titre (logique ^^) et les autres infos du dvd. Ces infos peuvent revenir plusieurs fois dans ma DB.
    Exemple :
    l'enregistrement avec l'ID 5 ayant pour titre Batman
    et
    l'enregistrement avec l'ID 9 ayant pour titre Batman
    et
    l'enregistrement avec l'ID 1 ayant pour titre Air Force One

    Il me faudrait une requete me permeant de selectionner tous les enregistrement de la table, mais en ne selectionnant qu'une seule fois les champs TITRE doublons.

    Pour avoir au final le resultat :
    ID Titre
    1 Air Force One
    5 ou 9 Batman
    (l'id des doublon n'a pas d'importance il me faut juste l'un d'entre eux)


    J'arrive a selectionner tous en ne prennatn que 1 seul des doublons mais je ne peut pas prendre l'ID sans avoir d'erreur.


    Comment puis-je faire cela ?

    Merci d'avance

  2. #2
    Membre du Club Avatar de medtun.net
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Points : 60
    Points
    60
    Par défaut
    Bonjour,
    utilises la clause DISTINCT

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par medtun.net Voir le message
    Bonjour,
    utilises la clause DISTINCT
    J'ai déja essayé comme tel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select DISTINCT * 
    From Dvds
    mais j'obtiens tous les enregistrements de ma table,
    il me faudrai faire le distinct que sur le Titre mais je ne sais comment faire

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 103
    Points : 31 546
    Points
    31 546
    Billets dans le blog
    16
    Par défaut
    Quelque chose comme cela :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM   Dvd AS x
    WHERE  (SELECT count(*)
            FROM   Dvd AS y
            WHERE  x.titre = y.titre
            AND    x.id > y.id) < 1
    ORDER BY x.titre ;
    Cela relève des "Quota Queries". Voyez à ce sujet :

    http://www.developpez.net/forums/sho...d.php?t=370035

    http://www.developpez.net/forums/sho...d.php?t=269827

    http://www.developpez.net/forums/sho...d.php?t=362771

    http://www.developpez.net/forums/sho...d.php?t=436583

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Merci
    sa fonctionne parfaitement

    Dire que je cherche depuis une semaine ^^.

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 103
    Points : 31 546
    Points
    31 546
    Billets dans le blog
    16
    Par défaut
    Peut-être plus simple, car votre cas est un cas particulier (au plus un élément à récupérer) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT   MIN(x.id) as Id, x.titre
    FROM     Dvd AS x
           , Dvd as y
    WHERE    x.titre = y.titre
    Group By x.titre

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

Discussions similaires

  1. [MySQL] select sans doublon
    Par speedylol dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/11/2009, 16h37
  2. requete selection sans doublons
    Par fred75 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/03/2008, 19h59
  3. Select sans doublon sur un champ
    Par Carnot dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/10/2007, 22h36
  4. SELECT sans doublons
    Par renaudjuif dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/02/2007, 16h53
  5. SELECT sans doublons
    Par Brunal dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/11/2006, 16h09

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