Я пишу функцию экспорта, где мне нужно экспортировать контакты в Excel, и я столкнулся с технической ошибкой - или, возможно, пробел в моих навыках SQL ближе к истине. ;)TSQL Comma Separation
Вот сценарий: У меня есть куча контактов в базе данных. Каждый контакт может иметь много разных ролей, например, контакт может быть как разработчиком C#, так и администратором баз данных, или администратором базы данных и IT-менеджером. Они разбиты на три таблицы:
------------------- ------------------- -------------------
* Contact * * ContactRole * * Role *
------------------- ------------------- -------------------
* ID * * ContactID * * ID *
* Name * * RoleID * * Name *
* Address * ------------------- -------------------
-------------------
Не слишком сложно следовать. Есть набор контактов и набор ролей. К ним присоединяется таблица ContactRole по соответствующим идентификаторам.
Когда я экспортирую контакты, мне нужно иметь столбец в экспорте со всеми разделяемыми запятыми ролями, например C# Developer, DBA
или DBA, IT-manager
. Экспорт будет сделан из кода ASP.NET/C#, поэтому я решил, что смогу сделать это в коде, если это произойдет, но у меня есть ощущение, что это можно сделать в SQL.
Данные поступают из SQL Server 2005.
Спасибо, это делает именно то, что я хочу! –
У вас может быть низкая производительность для больших наборов результатов, поскольку SQL Server 2005 не обрабатывает подзапросы хорошо, поэтому вам следует отслеживать запросы с помощью этой функции. –
Спасибо за голову, chopeen. Я ожидаю результатов в области 500-2000 строк, поэтому я уверен, что производительность не будет проблемой. Тем не менее, я буду следить за ним. –