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 :

Requête sur deux champs couplée à un DISTINCT ?


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Requête sur deux champs couplée à un DISTINCT ?
    Bonjour,

    Je reste bloqué sur un problème depuis plusieurs jours.
    Je vous schématise ma table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    --------------
    col1     col2
    --------------
    12       43
    25       10
    68       25
    10       25
    43       18
    75       25
    25       13
    25       75
    Je souhaiterais récupérer tous les nombres où le numéro 25 est présent sur une ligne en évitant les doublons.

    En gros, je souhaiterais obtenir ce résultat :
    10, 68, 75, 13

    Mais après plusieurs tentatives, je reste dans l'échec.
    Est ce que quelqu'un aurait la gentillesse de m'aiguiller ?

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Ce n'est pas très compliqué.

    Cherchez d'abord toutes les col1 dont col2 vaut 25, puis toutes les col2 dont col1 vaut 25, et enfin assemblez les deux avec l'opérateur ensembliste dont je vous laisse chercher le nom !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci, je ne pensais pas qu'on pouvait coupler comme ça deux requêtes.
    Je pensais que ça n'était pas très propre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT col1 FROM matable WHERE col2=25 UNION SELECT DISTINCT col2 FROM matable WHERE col1=25

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Pour information, l'opérateur UNION effectue déjà le distinct pour vous (UNION ALL pour ne pas l'avoir).

    Vous pouvez donc écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT col1
      FROM matable
     WHERE col2 = 25
    UNION
    SELECT col2
      FROM matable
     WHERE col1 = 25

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

Discussions similaires

  1. distinct sur deux champs
    Par xzéna dans le forum Requêtes
    Réponses: 4
    Dernier message: 07/12/2012, 16h45
  2. Requête SQL sur deux champs - débutant
    Par mygeomatic dans le forum Langage SQL
    Réponses: 6
    Dernier message: 23/12/2009, 17h26
  3. [Toutes versions] Requête sur deux champs avec doublons.
    Par RKU01 dans le forum Access
    Réponses: 2
    Dernier message: 22/07/2009, 12h19
  4. Requête sur deux champs provenant d'une meme table
    Par alphx dans le forum Requêtes
    Réponses: 3
    Dernier message: 27/08/2008, 13h56
  5. [Débutant] Distinct sur deux champs
    Par Machine Head dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/12/2007, 15h50

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