mardi 20 juillet 2010

SQL Server : Ramener sur une seule ligne les informations provenant de plusieurs lignes

J'avais déjà été confronter à ce petit soucis il y a quelque mois, j'ai dû me replonger dans mes souvenirs pour ressortir la solution à ce problème.

Voici le besoin (ce n'est pas mon besoin, c'est un cas d'école) : je souhaite afficher sur une seule ligne le nom des 10 premiers utilisateurs présent dans ma base. Comment faire cela en une seule requête SQL sans rien de plus ?

Petite précision qui a son importance, je suis sous SQL Server Express 2008, cette syntaxe fonctionne pour la version 2005 mais antérieure à cela... rien n'est moins sûr.

Voici la syntaxe "magique" :

SELECT TOP 10 UserName + ' ' FROM Users FOR XML PATH('')

Et nous voilà donc avec les noms des 10 premiers utilisateurs sur une seule ligne (et une seule colonne) séparés par un espace (attention un espace se trouve à la fin de la ligne).

Aucun commentaire:

Enregistrer un commentaire