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

PL/SQL Oracle Discussion :

Regrouper un champ sur 1 ligne en concatenant


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 346
    Par défaut Regrouper un champ sur 1 ligne en concatenant
    Bonjour
    J'ai une requête qui me renvoi n lignes.
    Sur ces n lignes toutes les données sont identiques sauf pour 1 champ.
    Je souhaite n'avoir qu'une ligne avec dans un champ toutes les valeurs différentes concaténées.

    Exemple
    Nom : Capture.JPG
Affichages : 1431
Taille : 47,4 Ko

    Ici on voit 2 lignes avec dans le champ POINT_CODE 2 valeurs différentes : FRFOS et FRMRS
    Je souhaite au final une seule ligne avec dans le champ POINT_CODE (ou un autre) un truc du genre FRFOS/FRMRS

    merci de vos conseils

  2. #2
    Membre chevronné
    Avatar de Bibeleuh
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2010
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 209
    Par défaut
    Hello,

    Lien utile : String Aggregation Techniques

    Il suffit donc de faire

    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
     
      SELECT LA.LEASE_AGREE_NUM,
             LA.LEASE_TYPE,
             LISTAGG (LAC.POINT_CODE, '/') WITHIN GROUP (ORDER BY LAC.POINT_CODE),
             LAC.RESOURCE_SIZE,
             LAC.RESOURCE_TYPE
        FROM    LEASING_AGREEMENTS LA
             LEFT OUTER JOIN
                LEASE_AGREEMENT_CONDITION LAC
             ON LAC.LA_UID = LA.LA_UID AND LAC.CONDITION_TYPE = 'R'
       WHERE LA.LEASE_AGREE_NUM IN ('CMAA334-13') AND POINT_CODE LIKE 'FR%'
    GROUP BY LA.LEASE_AGREE_NUM,
             LA.LEASE_TYPE,
             LAC.RESOURCE_SIZE,
             LAC.RESOURCE_TYPE

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 346
    Par défaut
    Merci,
    En allant sur le lien, j'ai trouvé la fonction wm_concat qui marche à merveille

    Laurent

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

Discussions similaires

  1. Swap des valeurs d'un champ sur deux lignes
    Par xave dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/11/2018, 17h08
  2. Réponses: 8
    Dernier message: 09/07/2008, 13h09
  3. Réponses: 12
    Dernier message: 25/09/2007, 17h22
  4. Comparer plusieurs champs sur une ligne
    Par BlacKou dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 03/07/2007, 09h51
  5. Afficher les données d'un champ sur une ligne
    Par white-angel dans le forum Access
    Réponses: 6
    Dernier message: 30/08/2006, 11h09

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