Suppose I have a temporary table that looks like this:
+----+------+ | Id | Value| +----+------+ | 1 | 1 | | 1 | 2 | | 1 | 3 | | 2 | 1 | | 2 | 2 | +----+------+
And I want my table to be like this:
+----+----------+ | Id | ValueList| +----+----------+ | 1 | 1,2,3 | | 2 | 1,2 | +----+----------+
So basically I need to group my values as a comma-separated list. I have already tried the following:
SELECT Id, STUFF((SELECT ',' + CAST(VALUE AS varchar) FROM @MyTable FOR XML PATH('')), 1 ,1, '') AS ValueList FROM @MyTable GROUP BY Id
But I get something like:
+----+---------------------+ | Id | ValueList | +----+---------------------+ | 1 | 1,1,1,1,1,1,... | +----+---------------------+
I cannot find what I am doing wrong. Can anyone help with this question? Or point me in the right direction? Thanks.
source share