Solução MS SQL:[Nota:Esta solução só funciona no SQL 2005 e posterior. A pergunta original não especificou a versão em uso.]
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