Concatenazione risultati in una singola cella con STRING AGG

Da Webmobili Wiki.
Versione del 28 lug 2025 alle 07:51 di SimoneVincenzi (discussione | contributi) (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...")
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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