Supponiamo di avere una semplice query come questa:Come creare un elenco di risultati T-SQL con una virgola tra di loro?
SELECT x
FROM t
WHERE t.y = z
Se abbiamo un record nel set di risultati, voglio impostare la variabile @v
a quello valore. Se abbiamo due o più record, mi piacerebbe che i risultati fossero separati da una virgola e uno spazio. Qual è il modo migliore per scrivere questo codice T-SQL?
Esempio:
set di risultati di 1 registro:
Value1
risultato set di 2 record:
Value1, Value2
risultato set di 3 record:
Value1, Value2, Value3
'Qual è il modo migliore' "Best" è soggettivo .. dipende da quali cose stai cercando. Può essere più preciso? Ha * bisogno * di essere fatto interamente in T-SQL o potresti usare una soluzione sul client? –
Questo si applica? http://stackoverflow.com/questions/1048209/concatenating-column-values-into-a-comma-separated-list – MatthewMartin
Sto solo volendo scrivere una funzione generica per questo scopo .. normalmente li gestisco in .NET codice dopo aver ottenuto i risultati, ma mi piacerebbe farlo in SQL – MacGyver