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

DB2 Discussion :

DB2 V9.5 Utilisation de la clause DISTINCT pour un couple de valeurs


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Par défaut DB2 V9.5 Utilisation de la clause DISTINCT pour un couple de valeurs
    Bonjour,

    je travail actuellement sur une base db2 V9.5 qui tourne sur Linux et je souhaite savoir s'il est possible d'utiliser la clause DISTINCT pour un couple de valeurs.

    J'ai recherché sur les différents sujets du forum db2 mais je n'ai rien trouvé..

    Je souhaite filtrer le résultat d'une requête sur un couple de valeur afin de retirer les doublons, mais lorsque je tente un simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT(col1, col2) FROM table
    J'ai une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: ,;distinct (col1;.
    Il me semble que ca fonctionne sur ORACLE..

    (je trouve la solution de concaténer mes deux champs assez crado)

    Connaissez-vous une autre solution "propre".

    Merci de vos réponses.

  2. #2
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Juin 2008
    Messages : 154
    Par défaut
    Bonsoir,

    Tu n'as pas fini ta phrase. Lors tu tentes la requête citée, il se passe quoi ? Perso, je ne connais pas trop Linux, mais en DB2 pour ZOS, la clause DISTINCT s'applique pour n'importe quelle(s) expression(s) sélectionnée(s). Les parenthèses sont inutiles, tu peux écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT COL1, COL2 FROM TABLE
    Ca marche avec tout type d'expressions : des constantes, des calculs, des fonctions, ..., comme par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT 'A', COL1, DIGITS(COL2), COL3*COL4, DECIMAL(COL5) FROM TABLE
    DB2 sélectionne les lignes concernées, trie ce résultat intermédiaire, élimine les doublons et renvoie le résultat final.

  3. #3
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Par défaut
    Je viens de modifier ma note pour qu'elle soit plus détaillée.

    Effectivement, la clause DISTINCT fonctionne sur toutes les colonnes du SELECT et c'est la où je n'avais pas bien saisi le fonctionnement.

    Ma requête doit permettre de ramener les valeurs de 10 colonnes, mais je ne souhaite enlever les doublons que pour un couple de valeurs, et pas pour toutes mes colonnes.

    Après réflexion, il me semble absurde de pouvoir effectuer cela.
    Je pense que je vais passer par une sous requête ou une requête intermédiaire.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut
    Essaie avec un group by (toutes les colonnes) having ... champ1 != valeur

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

Discussions similaires

  1. Clause Distinct ne fonctionne pas su SELECT multiple
    Par fabou3377 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/08/2006, 11h39
  2. Réponses: 3
    Dernier message: 11/04/2006, 10h36
  3. Utilisation de top et distinct
    Par bourvil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/12/2005, 14h32
  4. [ODBC] Problème d'utilisation de la clause LIMIT
    Par Thierry8 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 14/10/2005, 09h55
  5. Clause DISTINCT
    Par mathieu77186 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/03/2005, 12h37

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