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 :

[Débutant] Afficher tous les doublons


Sujet :

Langage SQL

  1. #1
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut [Débutant] Afficher tous les doublons
    Bonjour,

    J'utilise une base MySQL et je rencontre le problème suivant.

    Je veux afficher les doublons sur un champ de ma table, non pas sur tous les enregistrements, mais sur une partie de ceux-ci.

    Voici le code qui m'affiche les doublons (une ligne pour chaque doublon) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT occup.ID
        , occup.DATE_EFFET
        , loc.NSS
        , loc.UPI
    FROM OCCUPATION as occup
    INNER JOIN OCCUPANT as loc
    ON occup.ID = loc.OCCUPATION_ID_FK
    WHERE loc.NSS <> '7560000000000'
        AND occup.STATUT_OCCUPATION_ID_FK = 5
        AND occup.DATE_EFFET <= CURDATE()
        AND (occup.DATE_FIN_BAIL > CURDATE() OR occup.DATE_FIN_BAIL IS NULL)
    GROUP BY loc.NSS
    HAVING COUNT(loc.NSS) > 1
    ORDER BY loc.NSS;
    J'obtiens bien le résultat escompté.

    Maintenant, ce que je désire, c'est afficher non pas une ligne par doublons, mais deux, trois, soit tous les doublons.

    J'ai besoin de cette fonctionnalité pour vérifier toutes les occurences avant suppression ou modification.

    J'ai bien trouvé des exemples lorsque la recherche se fait sur l'entier de la table, mais je n'ai pas réussi à adapter les codes trouvés.

    Une aide serait la bienvenue.

    Merci d'avance.
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Bonjour

    Utilise ta requête comme sous-requête en utilisant le référentiel de "doublon". Voici un pré-exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    SELECT xxxxxx 
       FROM Loc 
          INNER JOIN 
    (SELECT occup.ID
        , occup.DATE_EFFET
        , loc.NSS
        , loc.UPI
    FROM OCCUPATION as occup
    INNER JOIN OCCUPANT as loc
    ON occup.ID = loc.OCCUPATION_ID_FK
    WHERE loc.NSS <> '7560000000000'
        AND occup.STATUT_OCCUPATION_ID_FK = 5
        AND occup.DATE_EFFET <= CURDATE()
        AND (occup.DATE_FIN_BAIL > CURDATE() OR occup.DATE_FIN_BAIL IS NULL)
    GROUP BY loc.NSS
    HAVING COUNT(loc.NSS) > 1) AS Mes_Doublons ON Mes_Doubons.NSS = Loc.NSS
    INNER ...
    ... etc ....
    a+
    olivier
    Merci d'ajouter un sur les tags qui vous ont aidé

  3. #3
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Bonjour,

    C'est parfait !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    SELECT occup.ID
        , occup.DATE_EFFET
        , loc.NSS
        , loc.NOM
        , loc.PRENOM
    FROM OCCUPATION AS occup
    INNER JOIN OCCUPANT as loc
    ON occup.ID = loc.OCCUPATION_ID_FK
    INNER JOIN
    (SELECT sr_loc.NSS
    FROM OCCUPATION as sr_occup
    INNER JOIN OCCUPANT as sr_loc
    ON sr_occup.ID = sr_loc.OCCUPATION_ID_FK
    WHERE sr_loc.NSS <> '7560000000000'
        AND sr_occup.STATUT_OCCUPATION_ID_FK = 5
        AND sr_occup.DATE_EFFET <= CURDATE()
        AND (sr_occup.DATE_FIN_BAIL > CURDATE() OR sr_occup.DATE_FIN_BAIL IS NULL)
    GROUP BY sr_loc.NSS
    HAVING COUNT(sr_loc.NSS) > 1) AS sr_doublons
    ON sr_doublons.NSS = loc.NSS
    WHERE loc.NSS <> '7560000000000'
        AND occup.STATUT_OCCUPATION_ID_FK = 5
        AND occup.DATE_EFFET <= CURDATE()
        AND (occup.DATE_FIN_BAIL > CURDATE() OR occup.DATE_FIN_BAIL IS NULL)
    ORDER BY loc.NSS;
    Merci beaucoup.
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

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

Discussions similaires

  1. Afficher tous les doublons
    Par krunch dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/02/2013, 09h27
  2. Afficher les id de tous les doublons
    Par darkman13130 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/09/2010, 16h28
  3. afficher tous les champs d'une table
    Par julio84 dans le forum ASP
    Réponses: 8
    Dernier message: 19/01/2005, 10h31
  4. Afficher tous les champs d'une table avec dbexpress et MySQL
    Par LHT dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/06/2004, 17h11
  5. Afficher tous les fichiers .htm du dd
    Par neo4010 dans le forum Linux
    Réponses: 3
    Dernier message: 20/01/2004, 13h25

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