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!