Quando non hai string_agg
31-10-2023
Quando la versione di sql server non supporta le funzioni di concatenazione
TSQL
31-10-2023
Quando la versione di sql server non supporta le funzioni di concatenazione
SELECT DISTINCT
STUFF(
(
SELECT
', ' + RTRIM(REGIONE)
FROM
TABELLA_REGIONI
ORDER BY
REGIONE
FOR XML PATH ('')
)
, 1, 2, '') AS ELENCO_REGIONI
FROM TABELLA_REGIONI
Ottengo
ABRUZZO, BASILICATA, CALABRIA, CAMPANIA, EMILIA ROMAGNA, FRIULI VENEZIA GIULIA, LAZIO, LIGURIA, LOMBARDIA, MARCHE, MOLISE, PIEMONTE, PUGLIA, SARDEGNA, SICILIA, TOSCANA, TRENTINO ALTO ADIGE, UMBRIA, VALLE D'AOSTA, VENETO
Oppure all'interno di una altra query se voglio tutti gli utenti che usano quella macchina
SELECT DISTINCT
L.MACCHINA
,
STUFF(
REPLACE(
REPLACE(
(
SELECT DISTINCT
', ' + UPPER(I.UTENTE) AS X
FROM
[Log] AS I
WHERE
I.MACCHINA = L.MACCHINA
FOR XML PATH ('')
)
, '<X>', '')
, '</X>', '')
, 1, 2, '')
AS UTENTI
FROM
[Log] AS L
GROUP BY
L.MACCHINA
ORDER BY
L.MACCHINA
Ottengo
MACH01 | PIPPO, PLUTO, PAPERINO
MACH02 | PIPPO
MACH03 | PIPPO, PAPERINO
...