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

Requêtes MySQL Discussion :

Affichage de toutes les lignes comprenant des doublons sur plusieurs champs


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 52
    Points : 31
    Points
    31
    Par défaut Affichage de toutes les lignes comprenant des doublons sur plusieurs champs
    Bonjour,
    Je sais qu'il y a pas mal de posts sur le sujet mais je n'arrive pas à faire exactement ce que je souhaite.
    J'ai une table avec 4 champs A,B,C et D et je souhaiterais lister toutes les lignes où les champs A, B, C sont égaux.

    Exemple:
    A | B | C | D
    1 | 2 | 3 | 4
    1 | 2 | 3 | 5
    1 | 2 | 3 | 8
    2 | 2 | 3 | 4
    1 | 2 | 4 | 4

    Je souhaiterai afficher cela:
    A | B | C | D
    1 | 2 | 3 | 4
    1 | 2 | 3 | 5
    1 | 2 | 3 | 8

    Pour le moment, je n'arrive qu'à afficher cela avec cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT `A` , `B` , `C` , `D`
    FROM ma_table
    GROUP BY `A` , `B` , `C`
    HAVING Count( * ) >1
    A | B | C | D
    1 | 2 | 3 | 4

    Bien évidemment, il me manque les lignes:
    1 | 2 | 3 | 5
    1 | 2 | 3 | 8

  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
    Par défaut
    Bonjour,

    Si MySql n'était pas aussi permissif ...

    Vous êtes sur la bonne voix il ne vous manque que la partie sous-requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select a, b, c, d
    from ma_table TA
    inner join (select a, b, c 
     from ma_table
     group by a, b, c
     having count(*) > 1) as TB on TA.a = TB.a and TA.b = TB.b and TA.c = TB.c

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par punkoff Voir le message
    Bonjour,

    Si MySql n'était pas aussi permissif ...

    Vous êtes sur la bonne voix il ne vous manque que la partie sous-requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select a, b, c, d
    from ma_table TA
    inner join (select a, b, c 
     from ma_table
     group by a, b, c
     having count(*) > 1) as TB on TA.a = TB.a and TA.b = TB.b and TA.c = TB.c
    MErci!
    Avant de lancer et tester cette requête, je vais essayer d'en comprendre la composition!!!
    Par contre, il ne manquerait pas un AS du côté de TA?

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. [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
  3. [AC-2007] Affichage de toutes les lignes de 2 tables jointes
    Par 84germain dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 27/10/2009, 21h40
  4. Réponses: 2
    Dernier message: 23/04/2009, 10h24
  5. Réponses: 1
    Dernier message: 22/04/2009, 22h39

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