Glad most folks liked it. Here is the actual code (you'll have to remove the *'s around amp to make it work):
WITH cteData (ID, Colors) AS
(SELECT1, 'Blue'
UNION
SELECT2, 'Red'
UNION
SELECT3, 'Yellow'
UNION
SELECT4, 'Gray'
UNION
SELECT1, 'Purple'
UNION
SELECT2, 'Orange'
UNION
SELECT3, 'Green'
UNION
SELECT4, 'Black & White')
SELECTREPLACE(STUFF((SELECT ', ' + d.Colors
FROM [cteData] d
WHERE c.[ID] = d.[ID]
ORDER BY [d].[Colors]
FOR XML PATH('')),1,1,''), '&*amp*;', '&') [ColorList]
FROM[cteData] c
GROUP BY c.[ID]
ORDER BY c.[ID]
[font="Arial Narrow"]bc[/font]