Привет!
Как я могу создать агрегатную функцию для получения списка совокупных значений.
дано :
key value
Andrei 1
Andrei 2
Andrei 3
Mihai 4
Mihai 5
Mihai 6
Я хочу
key list
Andrei 1,2,3
Mihai 4,5,6
Привет!
Как я могу создать агрегатную функцию для получения списка совокупных значений.
дано :
key value
Andrei 1
Andrei 2
Andrei 3
Mihai 4
Mihai 5
Mihai 6
Я хочу
key list
Andrei 1,2,3
Mihai 4,5,6
Я использовал эту статью один раз, чтобы точно так же:
http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/
Решение 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
Вам нужно имитировать функцию group_concat MySQL.
Дополнительную информацию см. в этой статье.