Как сериализовать (в список, разделенный запятыми) Строки SQL

В настоящее время у меня есть представление со столбцами в строках:

ID, Name

Я хочу добавить третий столбец Properties который должен содержать список свойств, разделенных запятыми. Я могу получить свойства из таблицы соединения, но в данный момент присоединение вернет отдельную строку для каждого свойства. Каков наилучший способ вытащить одну строку для списка, разделенного запятыми?

Раньше я думал, что использовал пользовательскую функцию с помощью курсора. Было бы здорово, если я смогу сделать это без UDF, но я не уверен на 100%. Если нет, я уверен, что я могу избавиться от курсора с более интеллектуальным UDF.

 SELECT ID, Name, Properties = STUFF(( SELECT ',' + PropertyName FROM dbo.Properties WHERE ID = x.ID FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') FROM dbo.ViewName AS x GROUP BY ID, Name; 
Давайте будем гением компьютера.