SQL: Agregando cadenas juntas

En mi base de datos de SQL Server 2005, utilizando una consulta SLQ, ¿alguien sabe la mejor manera de agrupar registros por un campo y obtener una lista de valores separados por comas de otro?
Así que si tengo:

UserID        Code
  1            A
  1            C5
  1            X
  2            V3
  3            B
  3            D
  3            NULL
  3            F4
  4            NULL

Yo obtendría:

 UserID        Code
  1            A,C5,X
  2            V3
  3            B,D,F4
  4            NULL

Gracias por cualquier ayuda

Respuestas a la pregunta(2)

Su respuesta a la pregunta