Я пытаюсь собрать некоторые данные для отчета и нужно объединить значения строк одной из таблиц. Вот основная структура таблицы:
Отзывы
 ReviewID  
 ReviewDate  
Рецензенты
 ReviewerID  
 ReviewID  
 UserID  
Пользователи
UserID  
FName  
LName  
Это отношение M: M. В каждом обзоре может быть много рецензентов; каждый Пользователь может быть связан со многими Обзорами.
В принципе, все, что я хочу увидеть, это Reviews.ReviewID, Reviews.ReviewDate и объединенная строка FName всех связанных пользователей для этого обзора (с разделителями-запятыми).
Вместо:
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  
Отобразите это:
ReviewID---ReviewDate----Users  
1----------12/1/2009-----Bob, Joe, Frank  
2----------12/9/2009-----Sue, Alice
Я нашел эту статью, описывающую некоторые способы сделать это, но большинство из них, похоже, касается только одной таблицы, а не несколько; к сожалению, мой SQL-fu недостаточно силен, чтобы адаптировать их к моим обстоятельствам. Меня особенно интересует пример на этом сайте, который использует FOR XML PATH(), поскольку он выглядит самым чистым и самым прямым.
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;
Может ли кто-нибудь дать мне руку с этим? Любая помощь будет принята с благодарностью!
