select T1.Field1, coalesce( stuff( (select ',' + cast([Field1] as nvarchar(20)) as [text()] from Table2 T2 where T2.Field2 = T1.Field2 order by [Field1] for xml path(''), type).value('.','nvarchar(max)'), 1,1,''), '') as [ConcatField2] from T1
COALESCE – возвращает пустую строку, если объединение строк вернуло NULL;
Функция STUFF удаляет первый символ из строки – запятую;
PATH(”) означает, что при формировании строки не будут использованы XML-теги;
type – функция вернет XML, который будет конвертироваться в текст методом ‘value’ (это делается для того, чтобы сохранить символы, которые в противном случае были бы восприняты как элементы XML разметки;
метод value() – берет корневой элемент ‘.’ и конвертирует его в текст ‘nvarchar(max)’
Ссылки:
Различные методики объединения строк в TSQL
Синтакс FOR XML
very care about my situation.
s services are wondeful!
Determine ponto Q, pertencente ao plano oblíquo β. https://pib.socioambiental.org/es/noticias?id=84163&id_pov=281