Concatenazione risultati in una singola cella con STRING AGG: differenze tra le versioni

Da Webmobili Wiki.
Creata pagina con "Per mostrare un elenco di risorse collegate ad una singola row, separate da un carattere separatore, basta utilizzare <code>STRING_AGG()</code>. ''ES.'' Questa query estrae le occasioni del negozio <code>44334</code>. Per ogni riga, nel campo <code>Immagini</code> stampa l'elenco delle immagini del prodotto separate da spazio. <syntaxhighlight lang="sql"> SELECT Product.ID AS ProductId ,Product.[Name] AS ProductName ,Pictures.Immagini FROM ProductBargain INNER JO..."
(Nessuna differenza)

Versione delle 07:51, 28 lug 2025

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