Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/02/2008, 19h12   #1
Invité régulier
 
Inscription : avril 2004
Messages : 18
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 18
Points : 6
Points : 6
Par défaut Concatenation valeur d'une meme colonne

Bonjour,
mon problème est le suivant :

j'ai une base du type :

Citation:
ID PARTIE VALEUR
-------------------------
1 1 je suis
1 2 un tout petit
1 3 peu bloqué
2 1 merci
2 2 de bien vouloir m'aider
et j'aimerais pouvoir concaténer les valeurs d'un même id, les parties
afin d'avoir un fichier du type :

je suis un tout petit peu bloqué
merci de bien vouloir m'aider

est-ce possible dans l'environnement oracle ? par exemple avec un bloc PL/ SQL?
Vaut-il mieux sortir les infos de la base dans un fichier et traiter le fichier avec unix ensuite pour les mettre au format voulu?
je n'arrive pas à trouver de solution.
je vous remercie du temps que vous m'accordez à lire ce message.
unameno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 22h11   #2
Membre confirmé
 
Avatar de DAB.cz
 
Inscription : octobre 2006
Messages : 221
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 221
Points : 214
Points : 214
Code :
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE t (id number, ord number, tx varchar2 (100));
....
 
SELECT trim (REPLACE (SYS_CONNECT_BY_PATH (tx, '@'), '@', ' '))
  FROM t main
  WHERE level = (SELECT max (ti.ord) FROM t ti WHERE ti.id = main.id)
  start WITH ord = 1
  connect BY id = prior id AND ord = (prior ord) + 1;
 
je suis un tout petit peu bloqué
merci de bien vouloir m'aider
J'attends meilleur solutions....
DAB
DAB.cz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 09h14   #3
Invité régulier
 
Inscription : avril 2004
Messages : 18
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 18
Points : 6
Points : 6
merci de ton aide mais le oracle chez moi n'accepte pas le SYS_CONNECT_BY_PASS et donc je suis à nouveau bloqué....
unameno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 10h12   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
d'où l'intérêt de préciser la version d'Oracle
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 11h45   #5
Membre confirmé
 
Avatar de DAB.cz
 
Inscription : octobre 2006
Messages : 221
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 221
Points : 214
Points : 214
Citation:
Envoyé par unameno Voir le message
merci de ton aide mais le oracle chez moi n'accepte pas le SYS_CONNECT_BY_PASS et donc je suis à nouveau bloqué....
SYS_CONNECT_BY_PATH

DAB
DAB.cz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 12h57   #6
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 453
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 453
Points : 4 213
Points : 4 213
Pb maintes fois posé sur le forum.

Le plus simple : créer une fonction qui à partir d'un identifiant te renvoie la concaténation des éléments grâce à un curseur.

sinon, un des posts du forum
http://www.developpez.net/forums/sho...=colonne+ligne
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h17.


 
 
 
 
Partenaires

Hébergement Web