Bonjour,
Pour faire simple, voilà une série de données :
Logement Rattachement
A | B
B | C
C | D
D | B
E | A
F | D
G | F
H | B
J | K
K | L
L | J
Je veux pouvoir indiquer quels sont les groupes de Logement, à savoir ici d'un coté A, B, C, D, E, F, G et H puis d'un autre J, K et L.
Le problème est que l'élément père est parfois le frère d'un autre et vice versa. Par exemple on sait que A et C sont du même groupe car A est rattaché à B et B est rattaché à C, etc
Si vous avez une idée, elle est la bienvenue
Merci
le script pour les tests (sous MS SQL 2005) :
WITH TMP AS (SELECT 'A' AS Logement, 'B' AS Rattachement UNION SELECT 'B' AS Logement, 'C' AS Rattachement
UNION SELECT 'C' AS Logement, 'D' AS Rattachement UNION SELECT 'D' AS Logement, 'B' AS Rattachement
UNION SELECT 'E' AS Logement, 'A' AS Rattachement UNION SELECT 'F' AS Logement, 'D' AS Rattachement
UNION SELECT 'G' AS Logement, 'F' AS Rattachement UNION SELECT 'H' AS Logement, 'B' AS Rattachement
UNION SELECT 'J' AS Logement, 'K' AS Rattachement UNION SELECT 'K' AS Logement, 'L' AS Rattachement
UNION SELECT 'L' AS Logement, 'J' AS Rattachement)
SELECT *
FROM TMP

 

 
		
		 
        

 
			
			



 
   


 Utilisation CTE récursives (Regroupement - éléments père <> éléments frère)
 Utilisation CTE récursives (Regroupement - éléments père <> éléments frère)
				 Répondre avec citation
  Répondre avec citation
Partager