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 :

concaténer plusieurs lignes dans un champs


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 38
    Points : 44
    Points
    44
    Par défaut concaténer plusieurs lignes dans un champs
    bonjour à tous,
    je souhaite concaténer dans un SELECT plusieurs enregistrements,
    exemple : pour un véhicule, regrouper toutes les options (qui se trouvent dans une autre table) de ce véhicule afin d'obtenir la ligne suivante
    N°VEH - MODELE - COULEUR - OPTION 1, OPTION 2, OPTION3 .....
    tout çà sur la même ligne, la relation s'opérant sur la colonne MODELE (un modèle peut avoir plusieurs options)
    y a t-il une solution avec SQL ?
    je n'ai malheureusement pas de code à proposer
    merci d'avance
    ----
    je viens de traiter quelques requêtes comme ci-dessous indiquées, mais le temps de réponse est catastrophique, de plus j'ai 3 tables à mettre en relation, certaines fonctions d'agrégations sont disponibles à partir de la 11g. Ceci étant, les requêtes proposées sont extrêmement formatrices
    ----
    je pense que je vais traiter le problème, soit en créant des vues ou des tables intermédiaires, soit traiter en PL/SQL avec un curseur

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Regarde si c'est ne pas cette discution qui réponde a ta demande.

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 123
    Points : 77
    Points
    77
    Par défaut
    Regarde cette discussion. ils ont répondu à mes attentes
    http://www.developpez.net/forums/d67...uete-imbrique/

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    quelque chose du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT VEHICULE, LISTAGG(OPTION,' - ') WITHIN GROUP (ORDER BY option)
    FROM T
    GROUP BY VEHICULE
    Hélas, LISTAGG n'existe pas dans Oracle 11gR1 et antérieur

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par laurentschneider Voir le message
    quelque chose du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT VEHICULE, LISTAGG(OPTION,' - ') WITHIN GROUP (ORDER BY option)
    FROM T
    GROUP BY VEHICULE
    Hélas, LISTAGG n'existe pas dans Oracle 11gR1 et antérieur
    Bonjour Laurent,

    C'est ça LISTAGG ou tu parle d'autre chose ?

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Bonjour Laurent,

    C'est ça LISTAGG ou tu parle d'autre chose ?
    Bien vu pour le lien! C'est bien dommage que ça ne marche pas en 11gR1

  7. #7
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Dans le lien ça a l’air de marcher. Peux-tu nous donner plus des détailles ?

  8. #8
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 736
    Points
    1 736
    Par défaut
    Citation Envoyé par laurentschneider Voir le message
    Hélas, LISTAGG n'existe pas dans Oracle 11gR1 et antérieur
    Tu as une 11GR2 de démo ou quoi ?

  9. #9
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    va savoir

  10. #10
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 736
    Points
    1 736
    Par défaut
    Citation Envoyé par laurentschneider Voir le message
    va savoir

    La sortie officielle de la 11gR2 est prévue pour quand ?

  11. #11
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    peut-etre que ce sera la vedette de Open World en automne...

Discussions similaires

  1. Réponses: 13
    Dernier message: 26/06/2015, 14h33
  2. [AC-2007] concaténer plusieurs lignes dans un champ
    Par rogerfon dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/03/2014, 09h21
  3. Réponses: 2
    Dernier message: 18/12/2009, 14h42
  4. "concaténer" plusieurs lignes dans un seul champ
    Par djobert dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/12/2008, 18h00
  5. fusionner plusieurs lignes d'un champs dans un select?
    Par gwena54 dans le forum Requêtes
    Réponses: 13
    Dernier message: 25/01/2008, 13h29

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