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 :

distinct sur plusieurs colonnes


Sujet :

Langage SQL

  1. #1
    Membre actif

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Points : 208
    Points
    208
    Par défaut distinct sur plusieurs colonnes
    bonjour
    j'ai une table resultant d'une relation recursive par exemple j'ai les élement non compatibles présenté dans une table
    elt1 elt2
    1 2
    1 3
    3 1
    2 1

    maintenant je veux calculer le nombre des element non compatible et qui sont dans mon exemple 3 parce que meme si j'ai 1 non compatible avec 2 et 2 non compatible avec 1 pour moi c'est une information redondante qui ne doit pas être incluse dans le calcul

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Si votre problème se limite à deux colonnes, vous pouvez essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select distinct 
           least(elt1, elt2) as elt1, 
           greatest(elt1, elt2) as elt2
    from TableElt

  3. #3
    Membre actif

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Points : 208
    Points
    208
    Par défaut
    j'ai pas compris votre solution et que ce que des fonction comme least et greatest viendrons faire dans le problème

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    least et greatest sont des fonctions qui n'existent pas dans tous les SGBD : prenez la peine de préciser le votre conformément aux règles du forum.

    Avez-vous essayé ce qui est proposé ?
    Voici ce que ça donne sur Oracle 10g XE :
    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
    WITH MaTable AS
    (
    select 1 as E1, 2 as E2 from dual union all
    select 1      , 3       from dual union all
    select 3      , 1       from dual union all
    select 2      , 1       from dual
    )
    SELECT DISTINCT
        least(E1, E2) as E1,
        greatest(E1, E2) as E2
    FROM MaTable;
     
    E1                     E2                     
    ---------------------- ---------------------- 
    1                      2                      
    1                      3
    Peut-être pour vous suffit-il de mettre une inégalité en place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT E1, E2
      FROM MaTable
     WHERE E1 < E2;

  5. #5
    Membre actif

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Points : 208
    Points
    208
    Par défaut
    je l'ai essayé et ca marche merci bien

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

Discussions similaires

  1. faire un distinct sur plusieurs colonnes
    Par elekis dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/03/2009, 14h23
  2. trier un stringgrid sur plusieurs colonnes
    Par renegade55 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 13/12/2005, 17h30
  3. Jointure avec conditions sur plusieurs colonnes
    Par ben53 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 28/11/2005, 10h27
  4. Lister sur plusieurs colonnes dans état
    Par armagued dans le forum Access
    Réponses: 3
    Dernier message: 30/10/2005, 22h21
  5. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 16h22

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