Concatener une colonne en un seul champs

Résolu
Signaler
Messages postés
31
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
17 mai 2011
-
Messages postés
12
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
8 mars 2010
-
Bonjour,

Je sais pas exactement comment expliquer ce que je veux faire, donc le mieux c'est un exemple

Select Magasin from TMAG
Cela me renvoi :

Magasin
MAG1
MAG2
MAG3
MAG4

Moi je souhaiterais que cela renvoi :
MAG1, MAG2, MAG3, MAG4

Merci pour votre aide
A voir également:

9 réponses

Messages postés
259
Date d'inscription
mercredi 3 mai 2006
Statut
Modérateur
Dernière intervention
11 janvier 2010
7
On peut le faire en SQL :

DECLARE

@machaine
varchar(8000
)SELECT

@machaine
= @machaine
+ monchamp
=
','
FROM matable
Ca limite à 8000 caractère sur SQL Server 2000 et avant... Sur 2005 on peut mettre un varchar(max)

Il y a une autre méthode aussi sur 2005... faudrait que je remette la main dessus.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
Messages postés
125
Date d'inscription
lundi 6 septembre 2004
Statut
Membre
Dernière intervention
11 mai 2010

salut
il faut faire une boucle à mon avis
set rst=OpenRecordSet("select magasin from TMAG)
if rst.recordcount>0 then
liste=""
rst.movefirst
do
liste=liste & rst.field(nom).value & ","
rst.movenext
loop until rst.eof
end if
liste=left$(liste,len(liste)-1) (pour enlever la dernière virgule)

bon courage
Messages postés
31
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
17 mai 2011

Merci pour ta réponse.
Mais je veux faire ca en requete directement dans l anlyseur de requete donc pas en VB seulement en sql .

Merci


 
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
4
Lut,
Y'a bien CONCAT mais pour l'utilisation dans ton cas .......
Vas voir ici pour plus d'info

Cordialement, Jean-Paul  
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Messages postés
31
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
17 mai 2011

Merci encore... Mais cela ne correspond pas encore a ce que je veux faire
Messages postés
21
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 juin 2009

Bonjour,

Je rencontre à peu près le même souci :

J'ai une table avec deux champs
Ex :

Champ1     Champ2
A                1
A                2
A                3
B                4
B                5

Et j'aimerai récupérer par requête le résultat suivant :
A               1,2,3
B               4,5

C'est à dire avec un regroupement par rapport au premier champ.
J'ai donc tenté la technique de skweeky sur SQL Server Express 2005 qui m'a renvoyé : Une instruction SELECT qui affecte une valeur à une variable ne doit pas être combinée avec des opérations d'extraction de données.

Y a-t-il une manip particulère à faire ?
Peut-on reproduire ce résultat sur Access ?

Merci d'avance !
Messages postés
1
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
7 avril 2008

Sous ACCESS: tableau croisée dynamique ...
Messages postés
56
Date d'inscription
mercredi 29 septembre 2004
Statut
Membre
Dernière intervention
4 janvier 2010
1
Messages postés
12
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
8 mars 2010

bon jour tout le monde ;
Je rencontre à peu près le même souci :

J'ai une deux table avec un champs qui est clé primaire dans le 1 table et clé étrangère dans le 2
voila exemple equivalant

Ex :
table1 / tables 2
Champ1 Champ2 / Champ1 CHAMP 2 CHAMP 3 CHAMP 4
A 1 / A
A 2 / B
A 3 / C
B 4 / D
B 5 / E

Et j'aimerai récupérer par requête le résultat suivant :
A 1,2,3
B 4,5