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

SQL Oracle Discussion :

Liste des notices qui ont une même donnée en commun


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 19
    Points
    19
    Par défaut Liste des notices qui ont une même donnée en commun
    Bonjour,

    Exemple :
    Lettre Chiffre
    A 1
    B 2
    C 1
    D 3
    E 4
    F 2


    Je recherche une requête SQL qui me permettrait d'obtenir les Lettres qui ont un chiffre en commun.
    La réponse serait A,C,B,F.

    Mais comment y arriver?

    Je voudrai aussi que le résultat soit alligné ainsi :
    A C (chiffre 1)
    B F (chiffre 2)

    Merci de votre aide!

    Patrick

  2. #2
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Bonjour,

    Ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT wm_concat(lettre), chiffre FROM t GROUP BY chiffre HAVING COUNT(*) > 1;
    Si la fonction wm_concat n'est pas disponible chez vous, d'autres alternatives ici : http://www.oracle-base.com/articles/...techniques.php

    Bonne soirée

  3. #3
    Membre averti Avatar de dariyoosh
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 236
    Points : 334
    Points
    334
    Par défaut
    Citation Envoyé par FSiebert Voir le message
    Bonjour,
    Si la fonction wm_concat n'est pas disponible chez vous, d'autres alternatives ici : http://www.oracle-base.com/articles/...techniques.php
    Merci pour ce lien intéressant

    Effectivement, dans le cas de cet exemple LISTAGG fait le travail et voici un 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
    20
    21
    22
    23
     
    COLUMN nbr FORMAT 99999;
    COLUMN letters FORMAT a30;
     
    WITH testtable AS
    (
      SELECT 'A' AS letter,  1 AS nbr FROM DUAL UNION
      SELECT 'B' AS letter,  2 AS nbr FROM DUAL UNION
      SELECT 'C' AS letter,  1 AS nbr FROM DUAL UNION
      SELECT 'D' AS letter,  3 AS nbr FROM DUAL UNION
      SELECT 'E' AS letter,  4 AS nbr FROM DUAL UNION
      SELECT 'F' AS letter,  4 AS nbr FROM DUAL UNION
      SELECT 'G' AS letter,  4 AS nbr FROM DUAL UNION
      SELECT 'H' AS letter,  5 AS nbr FROM DUAL UNION
      SELECT 'I' AS letter,  5 AS nbr FROM DUAL UNION
      SELECT 'J' AS letter,  1 AS nbr FROM DUAL UNION
      SELECT 'K' AS letter,  1 AS nbr FROM DUAL
    )
    SELECT  nbr AS nbr,
            LISTAGG(letter, ', ') WITHIN GROUP (ORDER BY letter ASC) AS letters
    FROM testtable
    GROUP BY nbr
    ORDER BY nbr ASC;
    Et le résultat srea donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        nbr           letters
    -----------      -----------------
         1             A, C, J, K
         2             B
         3             D
         4             E, F, G
         5             H, I
    Cordialement,
    Dariyoosh

  4. #4
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Encore faut-il être en 11g release 2

  5. #5
    Membre averti Avatar de dariyoosh
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 236
    Points : 334
    Points
    334
    Par défaut
    Citation Envoyé par FSiebert Voir le message
    Encore faut-il être en 11g release 2
    Effectivement il aurait du spécifier la version oracle utilisée dans sa question. Mais bon espérons que ça lui convient !

    J'aime bien le site oracle-base, on y trouve des articles très intéressants et pointus sur oracle.
    Cordialement,
    Dariyoosh

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    génial! merci beaucoup

Discussions similaires

  1. [AC-2007] Identifier des lignes qui ont une donnée commune
    Par manfre dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 05/11/2010, 18h03
  2. [SP-2007] Récuperation des sites qui ont le même template
    Par grafaa dans le forum SharePoint
    Réponses: 3
    Dernier message: 01/07/2009, 11h13
  3. Rechercher BD, nom des tables qui ont une colonne "location"
    Par arnaudperfect dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/10/2008, 11h33
  4. [XPATH] Compter le nombre d'attributs qui ont une valeur donné
    Par doozor dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 26/05/2008, 10h06
  5. Réponses: 3
    Dernier message: 31/01/2007, 09h03

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