Bonjour,

J'ai un problème similaire à celui-ci.
J'ai pas mal parcouru les autres sujets et a vrai dire je me retrouve avec le même problème a chaque fois.

J'explique :

Je possède un champ, que j'utilise dans un requête et ce champs me retourne une liste ( exemple :"142;654;12" ) et ensuite de cette liste je dois chercher un libellé qui va correspondre a chaque nombre, un mot 142, un mot pour 654 ... Et va me le retourner dans une liste si possible

Donc j'imagine qui faut mettre la liste séparer dans un tableau, faire la requête et mettre le résultat dans une liste. Je n'ai aucune idée de comment faire ça j'ai beaucoup chercher et je suis tombé sur ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
WITH t AS (
  SELECT 'one|two|three|four|five|six|seven' c FROM dual 
--UNION ALL  SELECT 'Un|Deux|Quatre' FROM dual 
   )
  SELECT extractvalue(COLUMN_VALUE,'/x') as liste
  FROM t,
 TABLE( xmlsequence(EXTRACT(XMLTYPE('<list><x>'|| REPLACE(c,'|','</x><x>') ||'</x></list>')
				, '/list/x')));
 
LISTE
one
two
three
four
five
six
seven
Je me demande si on peut le faire en remplaçant la chaine au début par un champs, j'ai essayé mais sans résultat.
Je sollicite donc votre aide !!

Merci bonne journée