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..."
 
Nessun oggetto della modifica
 
Riga 1: Riga 1:
Per mostrare un elenco di risorse collegate ad una singola row, separate da un carattere separatore, basta utilizzare <code>STRING_AGG()</code>.
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>.
''ES.''<br/>
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.
Per ogni riga, nel campo <code>Immagini</code> stampa l'elenco delle immagini del prodotto separate da spazio.
Riga 22: Riga 23:
ORDER BY ProductBargain.DisplayOrder, Product.LastUpdate DESC
ORDER BY ProductBargain.DisplayOrder, Product.LastUpdate DESC
</syntaxhighlight>
</syntaxhighlight>
<code>OUTER APPLY</code> può utilizzare tabelle definite in precedenza senza che siano presenti nel <code>FROM</code><br/>
in questo caso utilizza <code>Product</code> nella <code>SELECT</code>

Versione attuale delle 07:54, 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

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