Bonjour à tous,
Tout d'abord, j'ai vu que cette question avait été posée à plusieurs reprises mais les réponses dépassent mes compétences en développement et je n'ai pas réussi à adapter les codes sources indiqués pour répondre à ma problématique.
Voici ma question:
J'ai une table Ligne_Alteration qui est structurée de la manière suivante:
DO_Domaine(int, non NULL)
DO_Type (int, non NULL)
DO_Piece (varchar(50), non NULL)
Num_Ligne(int, non NULL)
AR_Ref(int, non NULL)
Code_Alteration(nvarchar(50), non null)
Valeur (numeric(24,3), non NULL)
En terme de données, ca donne:
DO_Domaine DO_Type DO_Piece NumLigne AR_Ref CodeAlteration Valeur
0 1 BCV0000405 2 AJOF25019090PS X2 90.000
0 1 BCV0000023 1 APX100019120M2 XL 103.000
0 1 BCV0000023 1 APX100019120M2 XBR 7.500
0 1 BCV0000023 1 APX100019120M2 XCNC 0.000
0 1 BCV0000023 2 APX100019120M2 XCNC 0.000
0 1 BCV0000023 3 APX130020120M2 XBR 63.000
0 1 BCV0000023 3 APX130020120M2 XCNC 0.000
0 1 BCV0000023 4 AJX130025100M2 XBR 42.000
0 1 BCV0000023 4 AJX130025100M2 XCNC 0.000
0 1 BCV0000024 1 APX130019090A2 XBR 11.000
0 1 BCV0000024 1 APX130019090A2 XTT 5.000
0 1 BCV0000024 2 APX080019090A2 XD 7.000
0 1 BCV0000024 2 APX080019090A2 XH 10.000
0 1 BCV0000024 2 APX080019090A2 XTT 4.200
L'idée est de réaliser une vue qui me donnerait le résultat via un regroupement:
DO_Domaine DO_Type DO_Piece NumLigne AR_Ref Aggregat
0 1 BCV0000405 2 AJOF25019090PS X2: 90.000
0 1 BCV0000023 1 PX100019120M2 XL:103.000 XBR:7.500 XCNC: 0,000
0 1 BCV0000023 3 APX130020120M2 XBR: 63.000 XCNC: 0.000
etc...
En résumé, l'idée est que la vue fasse un regroupement sur les colonnes DO_DOMAINE, DO_TYPE, NUM_LIGNE et AR_REF que les valeurs des colonnes CodeAlteration et Valeur soient concaténées sous la forme CodeAlteration + ':' + Valeur + 'espace'... de manière récursive pour ne créer qu'une chaine
J'ai essayé avec les requêtes qui font appel à la notion de XML path mais sans succès, c'est pour cela que je requiers votre aide
Merci d'avance
Michael
Partager