Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Stocké dans champs différents tous les résultats pour un même ID

1 réponse
Avatar
Benoit
Bonjour

Comment afficher sur une ligne les valeurs disponibles pour un même ID

J'ai dans une table

ID_REGION, Choix
10 Bleu
10 Vert
20 Bleu
30 Rose
40 Vert
40 Bleu

Je veux qu'on me retourne
10;Bleu;Vert
20;Bleu
30;Rose
40;Vert;Bleu

Pouvez-vous m'aider... c'est probablement bien simple..mais difficile pour
quelqu'un qui débute en programmation.

Merci de votre aide


Benoit

1 réponse

Avatar
Philippe TROTIN [MS]
Bonjour,

Voici une solution élégante évoquée précédemment par :


CREATE FUNCTION f_get_chaine_by_prod(@prod VARCHAR(50))
RETURNS VARCHAR(max)
BEGIN
DECLARE @r VARCHAR(max)
SET @r=''
SELECT @r=@r+chaine+' ; '
FROM produit
WHERE [PRODUIT]=@prod
SET @r=LEFT(@r,LEN(@r)-2) -- supprime le dernier ' ; '
RETURN ISNULL(@r,'')
END

SELECT PRODUIT,dbo.f_get_chaine_by_prod(PRODUIT)
FROM [PRODUIT]
GROUP BY [PRODUIT]


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"Benoit" a écrit dans le message de
news:
Bonjour

Comment afficher sur une ligne les valeurs disponibles pour un même ID

J'ai dans une table

ID_REGION, Choix
10 Bleu
10 Vert
20 Bleu
30 Rose
40 Vert
40 Bleu

Je veux qu'on me retourne
10;Bleu;Vert
20;Bleu
30;Rose
40;Vert;Bleu

Pouvez-vous m'aider... c'est probablement bien simple..mais difficile pour
quelqu'un qui débute en programmation.

Merci de votre aide


Benoit