Vous pouvez concaténer sans la boucle via quelque chose comme ci-dessous; ajoutez simplement votre propre requête / jointure, etc., si nécessaire :
DECLARE @s varchar(max) = ''
SELECT @s = @s + '<br/><b>' + CONVERT(varchar(10), i.CreatedDate, 101) + '</b>' + ISNULL(i.Notes, '')
FROM @Items i
SELECT @s
(vous devez assurez-vous qu'il n'y a pas de NULL
s là-dedans)
mais ne faites pas ça !
La base de données n'est pas l'endroit pour créer du HTML ; et surtout, cela vous ouvre énormément aux vulnérabilités XSRF. Je le ferais dans la couche d'interface utilisateur, en utilisant de manière appropriée les fonctions d'encodage html fournies par la plate-forme que vous utilisez. La concaténation aveugle de chaînes en tant que html est à peu près comparable à la concaténation aveugle de chaînes utilisateur dans TSQL (au lieu d'utiliser des paramètres) ; au mieux le formatage sera bouché (pas de gestion correcte de <
, etc) - au pire, vous exposez vos utilisateurs à un risque direct d'attaque.