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 :

Aide pour une requête sans doublons


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Aide pour une requête sans doublons
    edit : Je n'ai peut être pas posté dans la section la plus adaptée, si un modérateur peut déplacer le sujet dans la section Mysql.

    Bonjour à tous, je suis confronté à un souci, voici l'énoncé :

    j'ai une table comme ci après sur une base Mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ID - Data1 - Data2 - Data3 - Data4 - Data5
    1      1       5       1       A       X
    2      1       5       1       A       Y
    3      1       5       1       B       Z
    4      1       6       2       A       U
    5      1       6       2       B       V
    ...
    15     1       4       15      B       G
    Alors la Data1, Data2 et Data3 c'est juste des tinyint, Le data4 c'est un varchar qui peut prendre 2 valeurs et le data5 c'est un texte qui diffère à chaque enregistrement.

    Ce que je cherche à obtenir en sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ID - Data1 - Data2 - Data3 - Data4 
     1     1       5        1       A
     3     1       5        1       B
     4     1       6        2       A
     5     1       6        2       B
     15    1       4       15       B
    En clair je ne veux qu'un A et qu'un B (data4) pour une même data1, data2, et data3. je ne sais pas si je suis très clair, peut-être plus précis par l'exemple :

    le 2ème enregistrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ID - Data1 - Data2 - Data3 - Data4 - Data5
    2      1       5       1       A       Y
    Pas besoin de l'afficher dans le résultat, puisqu'il existe déjà un enregistrement avec Data1 = 1, Data2 = 5, Data3 = 1 et data4 = A.

    J'espère être assez clair pour que vous puissiez me rendre ce petit service ^^
    D'avance merci.

    P.S. :
    j'ai tenté ce type de requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT DISTINCT `Data1` & "-" &`Data2` & "-" & `Data3` & "-" & `data4` AS TP
    FROM `table` 
    WHERE `id_s` = "5";
    (id_s est une autre colonne de cette table que je n'ai pas mis dans l'exemple).

    Ainsi en concaténant les 4 et en ne prenant pas de doublon, j'ai exactement ce qu'il me faut, ensuite en php j'explode le résultat et je retrouve mes infos.

    Sauf que .. cette requête me donne en sortie :

    TP
    0

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    C'est un simple agrégat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      select min(ID), Data1, Data2, Data3, Data4
        from `table`
    group by Data1, Data2, Data3, Data4

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Ça fonctionne au poil, merci beaucoup.

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

Discussions similaires

  1. Aide pour une requête et left join
    Par Lolo19 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/08/2005, 08h09
  2. J'ai besoin de votre aide pour une requête
    Par ovdz dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/05/2005, 11h42
  3. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  4. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  5. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

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