Concatenar valores de fila T-SQL

Estoy intentando reunir algunos datos para un informe y necesito concatenar los valores de fila de una de las tablas. Aquí está la estructura básica de la tabla:

Opiniones

 ReviewID  
 ReviewDate  

Revisores

 ReviewerID  
 ReviewID  
 UserID  

Usuarios

UserID  
FName  
LName  

Esta es una relación M: M Cada revisión puede tener muchos revisores; Cada usuario puede estar asociado con muchas revisiones.

Básicamente, todo lo que quiero ver es Reviews.ReviewID, Reviews.ReviewDate y una cadena concatenada de los FName de todos los Usuarios asociados para esa Revisión (delimitado por comas).

En lugar de:

ReviewID---ReviewDate---User  
1----------12/1/2009----Bob  
1----------12/1/2009----Joe  
1----------12/1/2009----Frank  
2----------12/9/2009----Sue  
2----------12/9/2009----Alice  

Muestra esto:

ReviewID---ReviewDate----Users  
1----------12/1/2009-----Bob, Joe, Frank  
2----------12/9/2009-----Sue, Alice

he encontradoesta artículo que describe algunas formas de hacer esto, pero la mayoría de estos parecen tratar solo con una tabla, no con múltiples; desafortunadamente, mi SQL-fu no es lo suficientemente fuerte para adaptarse a mis circunstancias. Estoy particularmente interesado en el ejemplo en ese sitio que utiliza FOR XML PATH () ya que se ve más limpio y directo.

SELECT p1.CategoryId,
( SELECT ProductName + ', '
  FROM Northwind.dbo.Products p2
  WHERE p2.CategoryId = p1.CategoryId
  ORDER BY ProductName FOR XML PATH('')
) AS Products
FROM Northwind.dbo.Products p1
GROUP BY CategoryId;

¿Alguien puede ayudarme con esto? Cualquier ayuda sería muy apreciada!

Respuestas a la pregunta(15)

Su respuesta a la pregunta