Concaténation dans une requête SQL

Résolu
cs_tataye Messages postés 21 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 juin 2009 - 6 sept. 2007 à 09:05
cs_tataye Messages postés 21 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 juin 2009 - 6 sept. 2007 à 18:45
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

Netlink Messages postés 139 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 12 juillet 2011
6 sept. 2007 à 14:51
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
3
Netlink Messages postés 139 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 12 juillet 2011
6 sept. 2007 à 14:53
Oups attention, des espaces ont sauté ou sont apparus lors de l'enregistrement du message !




@ bientôt, Matt
0
cs_tataye Messages postés 21 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 juin 2009
6 sept. 2007 à 18:45
Merci pour la réponse !
0
Rejoignez-nous