Решение 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