Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
Bonjour,
Voici une solution élégante évoquée précédemment par Fr@ncky :
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" <benoit23@hotmail.com> a écrit dans le message de
news:OTKmtDakHHA.5084@TK2MSFTNGP03.phx.gbl...
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.
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.