Afficher le résultat d’une requête SQL Server en ligne avec des virgules




Sous SQL Server, comment récupérer le résultat d’une requête en colonne? Existe-t-il une requête simple pour transformer le résultat de colonne en ligne ? Comment le faire avec une seule requête ?

 

Par exemple, comment transformer l’affiche standard d’une colonne SQL Server, comme ceci:

Colonne
Résultat 1
Résultat 2
Résultat 3
Résultat 4

Et afficher cela  :
Résultat 1, Résultat 2, Résultat 3, Résultat 4

Comment afficher le résultat d’une requête SQL Server en ligne plutôt qu’en colonne?

Pour afficher le résultat d’une requête en ligne plutôt qu’en colonne (par exemple chaque résultat séparé par une virgule, il faut utiliser la fonction SQL Server COALESCE().

DECLARE @resultat_en_ligne nvarchar(1000);

SELECT 	@resultat_en_ligne = COALESCE(@resultat_en_ligne+',','') + COLONNE
FROM 	BASE.dbo.TABLE;

SELECT 	@resultat_en_ligne;

 

 

Le résultat sera composé d’une ligne avec les résultats de la requête concaténés et séparés par une virgule.