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 :

ListAgg vs wm_concat [11gR2]


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 63
    Points : 20
    Points
    20
    Par défaut ListAgg vs wm_concat
    Bonjour,

    Nous venons de migrer d'oracle 10g à 11gR2.
    Mais depuis, je ne peux plus utiliser le wm_concat.
    Je dois pour cela, utiliser le ListAgg qui me déplait énormément.

    C'est pourquoi, j'ai utilisé la fonction MyListAgg que l'on trouve sur le net, afin d'avoir la distinction au sein du champ agrémenté.

    Mais nouveau problème !
    Je veux utiliser le MyListAgg avec du Case ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MyListAgg (DISTINCT CASE WHEN 'condition1' THEN 1
    WHEN 'Condition2' THEN 2
    WHEN 'Condition3' THEN 3
    ELSE NULL END)
    Mais problème, admettons que condition 1 soit remplie, mais condition 2 aussi.
    Avant, avec le WM_CONCAT on obtenait ceci : 1,2
    Aujourd'hui, que ce soit avec ListAgg ou MyListAgg, nous obtenons uniquement le 1.

    En gros, une fois qu'il rempli une condition, il se fiche du reste.
    Alors, comment régler ce problème?

    je suis vraiment très déçu de cette 11gR2, je trouve que la 10g était vraiment plus pratique, surtout avec ce wm_concat

    Merci par avance

  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
    Pouvez-vous créer un jeu d'essai qui pose problème avec listagg mais pas avec wm_concat ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 63
    Points : 20
    Points
    20
    Par défaut
    En rentrant hier soir, j'ai compris pourquoi ça ne fonctionnait pas (comme quoi les éclairs arrivent quand on se pose à coté du problème, à froid).

    En faite, la table des correspondances a changé.

    Avant j'avais ceci :
    id1 | condition1
    id1 | condition2
    id2 | condition2
    Maintenant j'ai ceci :
    id1 | condition1 | condition2 | null
    id2 | null          | condition2 | null
    Du coup, que ce soit avec le wm_concat ou le mylistagg, le résultat serait le même, c'est juste que je dois changer ma requête en conséquence.

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

Discussions similaires

  1. [11gR2] Listagg dans une vue -> Erreur
    Par xeroc dans le forum SQL
    Réponses: 3
    Dernier message: 14/01/2014, 11h18
  2. LISTAGG et version 10.2.0.1.0
    Par cyril dans le forum SQL
    Réponses: 2
    Dernier message: 27/06/2012, 15h47
  3. Equivalent de PIVOT et LISTAGG en 10g
    Par justinedr71 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 27/08/2011, 03h01

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