Bonjour,

je dispose de cette procédure :

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
ALTER PROCEDURE [dbo].[chemin2]
		--paramètres	
	@org varchar(50),
	@dest varchar(50)
AS 
 
BEGIN	
	SET NOCOUNT ON;
 
	WITH step (destination, etapes)  -- Vue temporaire
 
AS
		--première requête = point de départ de la récursivité
		(SELECT lieu1, CAST(@org AS VARCHAR(MAX)) 
			FROM   Liens_lieux
			WHERE  lieu1 = @org
 
    UNION  ALL
		--deuxième requête = point d'arrêt de la récursivité
		SELECT lieu2 , depart.etapes + ', ' + arrivee.lieu2
 
			FROM   Liens_lieux AS arrivee
			INNER JOIN step AS depart    --cycle de récursion
							 ON depart.destination = arrivee.lieu1)
		--affichage
 
SELECT etapes
FROM   step
WHERE  destination = @dest
 
 
END
C'est une récursion chargée de trouver tous les chemins menant d'un point à un autre.
elle me donne le résultat sous cette forme :

etapes
1 fosse1, E1, TC1, C1
2 fosse1, E2, TC1, C1

dans cet exemple il existe 2 chemins partant de fosse1 pour arriver à C1.
Je souhaiterais avoir les résultats sous cette forme :

etapes
1 fosse1
1 E1
1 TC1
1 C1
2 fosse1
2 E2
2 TC1
2 C1

Est-il possible de faire ça? Une "déconcaténation"?

merci,