Concaténation dans une requête SQL [Résolu]

Signaler
Messages postés
21
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 juin 2009
-
Messages postés
21
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 juin 2009
-
Bonjour tout le monde,

Pour schématiser, j'ai une table avec deux champs comme suit :

Champ1 Champ2
aaa         test1
aaa         test2
bbb        test3
aaa         test4

et j'aimerai par requête obtenir le résultat suivant sur 2 champs :

aaa        test1test2test4
bbb       test3

Y a t'il une sorte d'équivalent à Sum pour du texte ?

3 réponses

Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Salut,

Voici déjà une base de travail  :




-- On déclare les variables :

-- @champ2 = une des valeurs connues dans notre table (ici 'test1' ou 'test2' etc.)

-- @champ1 = une des valeurs de champ1 (ici 'aaa' ou 'bbb')





DECLARE


@champ2 varchar(200)




DECLARE


@champ2_valeur varchar(200)




DECLARE


@champ1 varchar(200)




DECLARE


@champ1_valeur varchar(200)





-- On affecte une valeur à nos variables


SET


@champ2 =''




SET


@champ2_valeur ='test1'




SET


@champ1 =''




SET


@champ1_valeur ='aaa'






-- On récupère l'ensemble des valeurs de champs2

-- quand champ1 = 'aaa' dans notre exemple.



SELECT


@champ2 = @champ2 +CONVERT(nchar(5), Champ2)FROM maTable




WHERE


champ1=@champ1_valeur






-- On récupère la valeur de champ1 en fonction

-- des 5 premiers caractères de @champ2.

-- A n'utiliser que si l'on est sûr du contenu de @champ2...



SELECT


@champ1=champ1 FROM maTable




WHERE



SUBSTRING
(@champ2, 1, 5)=@champ2_valeur





-- On renvoie @champ1 et @champ2


SELECT


@champ1 AS Champ1, @champ2 AS Champ2




@ bientôt, Matt
Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Oups attention, des espaces ont sauté ou sont apparus lors de l'enregistrement du message !




@ bientôt, Matt
Messages postés
21
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 juin 2009

Merci pour la réponse !