Bonjour,

J'ai un problème délicat à résoudre.
Il s'agit de concaténer une colonne en un champ.

Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Table Personne
ID Prénom
1  Christophe
2  Albert
3  Cécile
Résultat voulu en une requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Christophe, Albert, Cécile
Ceci afin de pouvoir placer cette sous-requête dans une requête.

Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Table Appartement
NumAppart   IDPersonne     Ville
1                      1       Lille
2                      3       Lille
3                      2       Paris
Je veux obtenir une liste des appartements. Une ligne par appartement et la liste des personnes associées.

Ceci donnerait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Lille   Christophe, Cecile
Paris  Albert
Côté SQL, j'ai tenté quelque chose comme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
DECLARE
@machaine varchar(8000)
SELECT DISTINCT Ville, 
 (select  @machaine = @machaine + Prénom + ',' from Personne p where p.id=a.IDPersonne) as personnes
FROM Appartement a
Mais bien sûr, ça ne fonctionne pas. Je pourrai passer par une proc. stock mais j'aimerais pouvoir le faire sur un seul ordre SQL.