2012-02-20 4 views

ответ

2

Я использовал эту статью один раз в ту же самую вещь:

http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/

+0

Я прыгал, чтобы создать пользовательскую агрегатную функцию, такую ​​как sum(). Является ли это возможным? –

+0

Я нашел его в вашей статье. Спасибо –

1

Вы должны имитировать GROUP_CONCAT функцию MySQL.

Проверьте, пожалуйста, this article.

2

MS SQL решение: [Примечание: Это решение работает только на SQL 2005 и более поздних версий. В исходном вопросе не указана используемая версия.]

SELECT 
key 
, STUFF((SELECT ',' + CAST([value] AS nvarchar(max)) FROM <#Table#> WHERE (key = Results.key) FOR XML PATH ('')),1,2,'') AS NameValues 
FROM <#Table#> Results 
GROUP BY key 
+0

, и приятная вещь об этом решении заключается в том, что он не взорвется, если у вас есть недопустимые символы xml в ваших подстроках .. ооооо, да, это так. – briantyler

+0

насколько я вижу значение, просто int, так что это не проблема – alexsuslin

+1

Сегодня это int, завтра это строка, содержащая амперсанды ... – briantyler

Смежные вопросы