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 :

Eviter des doublons sur un champ


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 77
    Points : 46
    Points
    46
    Par défaut Eviter des doublons sur un champ
    Bonjour,

    J'ai une table qui contient plusieurs champs, dont deux que je dois sélectionner.

    La table ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     CODE | NOM
    --------------
    BE001 | BELGIQUE
    BE002 | BELGIUM
    BE003 | BELGIE
    FR001 | FRANCE
    FR002 | FRANCE
    FR003 | FRANKRIJK
    Je dois faire un select qui doit m'afficher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    BE | BELGIQUE
    FR | FRANCE
    Si je fais un distinct sur un substr du code, ça fonctionne bien, mais une fois que j'essaie aussi d'afficher le nom, ça m'affiche tous les noms et donc, le code apparait plusieurs fois. (ma DB n'est pas comme ça, c'est une exemple pour simplifier, les codes sont des chiffres et le champ est décimal)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT DISTINCT SUBSTR(LTRIM(STR(CODE)), 1,2), NOM
    FROM PAYS

    Je me fiche de quel nom est choisi parmi les trois, le premier est le bon. J'ai beau essayer tous les joins et les distincts, je n'arrive pas à avoir ce que je veux...
    Je ne suis pas très douée avec les group by et les having alors qu'il y a une solution en utilisant ces possibilités, soit je n'y ai pa pensé, soit j'ai mal syntaxé le tout et mon JDBC n'accepte pas la requête.

    Est-ce que quelqu'un a une idée?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 249
    Points : 12 895
    Points
    12 895
    Par défaut
    Bonjour,
    Tu peux essayer ceci:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT SUBSTR(LTRIM(STR(CODE)), 1,2), min(NOM)
    FROM PAYS
    group by SUBSTR(LTRIM(STR(CODE)), 1,2)

    Tatayo.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 77
    Points : 46
    Points
    46
    Par défaut
    Omg, merci, c'était super simple >.<

    Tout le monde me disait "nan c'est pas possible", je désespérais...

    Merci beaucoup <3

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

Discussions similaires

  1. contrôle des doublons sur plusieurs champs
    Par christy1 dans le forum Modélisation
    Réponses: 3
    Dernier message: 09/12/2011, 14h13
  2. Eviter un doublon sur 2 champs
    Par puzzle3db dans le forum Access
    Réponses: 2
    Dernier message: 30/09/2010, 15h46
  3. [AC-2007] Identifier des doublons sur plusieurs champs.
    Par neiluj26 dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 22/09/2010, 20h49
  4. comment eviter des doublons sur une bd exel avec du vba
    Par INCO13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/06/2008, 22h24
  5. Eviter les doublons sur un champ SQL Serveur 2005
    Par crashyear dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/12/2006, 08h02

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