Concatenazione risultati in una singola cella con STRING AGG

Da Webmobili Wiki.

Per mostrare un elenco di risorse collegate ad una singola row, separate da un carattere separatore, basta utilizzare STRING_AGG().

ES.
Questa query estrae le occasioni del negozio 44334.

Per ogni riga, nel campo Immagini stampa l'elenco delle immagini del prodotto separate da spazio.

SELECT 
	Product.ID AS ProductId
	,Product.[Name] AS ProductName
	,Pictures.Immagini
FROM ProductBargain
	INNER JOIN Product ON ProductBargain.ProductId = Product.ID
	LEFT OUTER JOIN Picture ON Product.PictureId = Picture.ID 
	OUTER APPLY(
		SELECT Product.ID AS ProductID,
			STRING_AGG('https://immagini.designbest.com/pictures/' +Picture.EntityValue + '-'+CAST(EntityId AS VARCHAR(10))+'-'+CAST(ID AS VARCHAR(10))+'.jpg', ' ') AS Immagini
		FROM Picture
		WHERE EntityId = Product.ID AND EntityGroup = 'Product' AND EntityKey = 'gallery'
	) AS Pictures
WHERE ProductBargain.ShopPointID = 44334
ORDER BY ProductBargain.DisplayOrder, Product.LastUpdate DESC

OUTER APPLY può utilizzare tabelle definite in precedenza senza che siano presenti nel FROM
in questo caso utilizza Product nella SELECT