Query per concatenare righe in colonne
Mi è capitato di voler ottenere come risultato di una query il contenuto di una subquery che restituisce più righe. Certo, usare i cursori mi permette di soddisfare questa esigenza ma... perchè sparare alla mosca con un cannone?
Scopriamo, allora, che utilizzando la funzione COALESCE -nativa in TSQL- uccido la mosca con lo scacciamosche...! 
DECLARE @VarName AS varchar(200)
SELECT @VarName = COALESCE(@VarName , '') + NomeCampo+ ',' FROM NomeTabella
SELECT @VarName
Naturalmente @VarName è un nome arbitrario di variabile mentre NomeCampo e NomeTabella sono i nomi degli oggetti nel db di vostro interesse.
|