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 :

Disposer une liste 'select distinct' en colonnes


Sujet :

SQL Oracle

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mai 2024
    Messages : 2
    Par défaut Disposer une liste 'select distinct' en colonnes
    Bonjour,

    Je suis plutot MOA avec une certaine maîtrise du SQL.

    Soit la table suivante

    id type
    1 a
    2 b
    3 a
    4 c
    5 a
    6 b
    7 c
    … ….


    Je souhaiterai effectuer une requête qui me renvoie en colonne la liste des valeurs de la colonne type (a, b , c...) et sous chaque colonne type les id inclus.

    Un exemple de résultat :

    a b c
    1 2 4
    3 6 7
    5


    le nombre de colonnes (soit select distinct type from matable) étant variable/ dynamique, la solution 'case when' ne semble pas convenir



    J'aimerai savoir si c'est possible d'effectuer une telle requête via SQL. Ou alors, seul une procédure en PL/SQL peut résoudre mon problème.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    En SQL : non, si vous désirez un résultat traditionnel en lignes/colonnes car non seulement il n'y a pas de PIVOT dynamique en standard mais en plus vous n'avez pas à proprement parler d'agrégation à faire sur base d'un point commun, maintenant si vous admettez un XML ou un JSON il y aurait moyen d'imaginer des solutions renvoyant 1 objet contenant la solution...

    En PL/SQL : c'est possible mais il faut utiliser les API d'ODCI (ODCITableDescribe, ODCITablePrepare, ODCITableStart, ODCITableFetch) pour pouvoir déclarer dynamiquement le "row type" et renvoyer chaque ligne calculée dynamiquement. Un exemple intéressant et assez proche du besoin sur le site d'amis.nl (cherchez "Anton's pivoting", l'implémentation du PIVOT dynamlque).

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mai 2024
    Messages : 2
    Par défaut
    Bonjour

    Je vous remercie pour votre retour.

Discussions similaires

  1. récupérer les élements d'une liste (<select>)
    Par ferrero dans le forum Struts 1
    Réponses: 4
    Dernier message: 12/06/2007, 13h55
  2. Garder l'ordre des Records dans une requete select distinct
    Par pobrouwers dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 21/02/2007, 22h06
  3. [Form] Superposition d'une liste select sur une div 'absolute'
    Par BRAUKRIS dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 09/02/2007, 18h43
  4. Nombre d options a afficher dans une liste (select)
    Par wwluigi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/01/2007, 15h17
  5. [HTML] faire des tabulation dans une liste <select>
    Par renofx1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/01/2006, 23h36

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