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 et SQL. Discussion :

Comment restreindre Select Distinct [Toutes versions]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 29
    Points : 27
    Points
    27
    Par défaut Comment restreindre Select Distinct
    Bonjour,
    Je cherche à selectionner 5 colonnes et effectuer la commande distinct uniquement sur les deux premières.

    L'idée est que si les deux premières colonnes sont identiques l'enregistrement correspond à une action utilisateur.
    Cependant certain utilisateur double l'enregistrement et les colonnes 4 ou 5 différent légèrement.
    Je me retrouve donc avec des doublons d'un point de vu logique.

    Sinon est-il possible d'utiliser un group by pour grouper les colonnes 1 et 2 en fin de requète ?

    Voici mon code.
    ------------------------------------------------------------------------
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT t_List_Cd_Final.f_Libellé, t_List_Cd_Final.f_Date_Controle, t_List_Cd_Final.f_Suite_2_1, t_List_Cd_Final.f_Suite_2_2
    FROM t_List_Cd_Final
     
    WHERE ..................
     
    ORDER BY t_List_Cd_Final.f_Libellé, t_List_Cd_Final.f_Date_Controle;

    ---------------------------------------------------------------------

    Merci par avance; et allez la France
    PS : je n'ai pas trouvé de réponse claire sur la faq.

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    il faut faire une requête distincte avec uniquement les 2 colonnes regroupées + 1 colonne qui somme les enregistrements avec le critère > 2 . Cela donne les doublons. Il suffit ensuite de lier cette requete à la premiere.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Bonjour et merci Helas,

    Je comprends ton idée cependant je bloque sur la réalisation. Sachant que j'ai encore du mal à maitriser le sql (j'utilise l'outil graphique Access), pourrais-tu être plus précis sur la réalisation, ie le code sql.

    Merci et bonne journée

  4. #4
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Une premiere requête (reqDoublons) affiche les enregistrements dont le champ f_Libelle est double ou plus. Il est possible d'associer d'autres champs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT t_List_Cd_Final.f_Libelle , AutreChamp , ...
    FROM t_List_Cd_Final
    GROUP BY t_List_Cd_Final.f_Libelle
    HAVING (((Count(t_List_Cd_Final.f_Libelle))>1));
    Les doublons étant connus, cette deuxième requête affiche tous les autres champs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT t_List_Cd_Final.f_Libelle, t_List_Cd_Final.f_Date_Controle, t_List_Cd_Final.f_suite_2_1, t_List_Cd_Final.f_Suite_2_2
    FROM t_List_Cd_Final INNER JOIN reqDoublons ON t_List_Cd_Final.f_Libelle = reqDoublons.f_Libelle;

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Merci de cette précision, je comprends mieux maintenant

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

Discussions similaires

  1. Select distinct
    Par mic79 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/04/2005, 17h30
  2. [Forms] Comment restreindre les valeurs d'une LOV
    Par popressay dans le forum Forms
    Réponses: 9
    Dernier message: 25/08/2004, 11h59
  3. select distinct substring
    Par nmerydem dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/06/2004, 17h58
  4. Select distinct et order by
    Par arsgunner dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/06/2004, 12h17
  5. equivalent SELECT DISTINCT pour MyBase?
    Par chrisou31 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2004, 20h33

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