|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 10 ![]() |
Bonjour,
Malgré mes recherches sur les différents forums, je n'ai pas trouvé de réponse à ma question (ou alors je n'y ai rien compris, ce qui n'est guère étonnant étant donné mon niveau inférieur à débutant en SQL... Je dois extraire des données saisies via un formulaire. Certains champs de ce formulaire sont à choix multiples. Mon but est d'obtenir par une requête toutes les valeurs saisies pour un même champ, en colonnes. Exemple: le paramètre "etablissement" du formulaire est lié à une table "etablissement", qui possède 2 champs: id (= clé primaire) et libellé. 1 à 10 valeurs peuvent être saisies dans le formulaire pour ce même paramètre (liste déroulante à choix multiple) Je souhaite obtenir comme résultat de ma requête: n° du formulaire / etablissement1 / etablissement 2 / etablissement3 etc.... 1 / libelle1 / libelle2 / llibelle3 2 / libelle1 3 / libelle1 / libelle2 ... Evidemment, un simple select num.formulaire, libelle.etablissement from formulaire, etablissement me retourne les valeurs en ligne, alors que je veux les obtenir en colonne. Merci d'avance à ceux qui pourront m'aider à résoudre ce pb. Cordialement, |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 925 ![]() |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 10 ![]() |
Bonsoir laurentschneider.
Merci d'avoir répondu. La version d'ORACLE est la version 10g. J'ai étudié les liens que tu m'as recommandé, hélas je n'ai rien compris... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 925 ![]() |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 10 ![]() |
Bonjour,
Merci pour votre réponse, c'est plus clair pour moi maintenant. Cependant, mon soucis est que les fonctions LISTAGG ou COLLECT concatènent les différentes valeurs dans une même colonne. Or j'ai besoin d'avoir les différentes valeurs dans des colonnes différentes. Comment écrire une telle fonction ? |
|
|
00
|
|
|
#6 |
![]() ![]() |
Faites une recherche sur le mot PIVOT.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#7 | ||||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 925 ![]() |
COLLECT collecte dans une collection...
Après tu peux toujours dénester pour remplir ta liste ! Code :
Code :
|
||||
|
00
|
|
|
#8 |
![]() ![]() ![]() |
Une fois de plus, un SGBDR, c'est pour faire des traitements des données et non la presentation des données qui devait être confier à votre application cliente.
__________________
Découvrez la FAQ de MS SQL Server. La chance accorde ses faveurs aux esprits avertis ! |
|
|
02
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 925 ![]() |
Il est tout à fait possible d'employer to_char, extract, substr, listagg et autres fonctions de "formattage" dans une requête SQL.
Pourquoi surcharger le réseau alors que Oracle peut très bien ne retourner que les chaines qui nous intéressent? |
|
00
|
|
|
#10 |
|
Membre expérimenté
![]() François Inscription : février 2010 Messages : 305 ![]() |
Pour les bonnes pratiques, le pattern MVC, tout ca?
La plus part du temps, ca facilite énormément les évolutions dans le temps, non? Les bonnes pratiques, c'est toujours pareil, ca paye sur le long terme. |
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 925 ![]() |
Et tu ne crées pas de vue dans ta base de données?
Quant à savoir s'il vaut mieux des architectes casse-pieds à la sauce CMMI/ITIL ou alors un design/performance au niveau de la base utilisant toutes les resources d'Oracle, je vous laisse le choix, moi je dois être tombé dans la soupe quand j'étais petit...
|
|
10
|
|
|
#12 |
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 417 ![]() |
Et puis bon, les histoires de maintenabilité, ça dérive très souvent en gigantesque arnaque... avec des patterns étranges dans tous les sens, des couches de programmation à ne plus en finir et des appels dynamiques qui finissent toujours par te perdre !
Je suis intervenu récemment chez un ancien client parce que : - Seul les anciens comprennent encore vraiment comment est architecturé le système (En gros c'est super maintenable, mais il faut 3 semaines de formation aux nouveaux arrivants) - Pour optimiser les performances, la préconisation du gars de chez Oracle était : cassez tout et recommencez... du coup on a optimisé en cherchant les calculs superflus dont on pouvait se passer, passer des fonctionnalités en batch, ... (J'exagère un peu, il y a certains trucs qu'on a pu réécrire à l'arrache quand même, j'étais très content aussi de découvrir le RESULT_CACHE)
__________________
(c'est ma photo) Paku, Paku ! Pour les jeunes incultes : non, je ne suis pas un pokémon... Le pacblog : http://pacmann.over-blog.com/ |
|
10
|
Copyright © 2000-2012 - www.developpez.com