如何将Access 2007中的多个记录合并到一个记录中?

时间:2012-08-17 20:46:40

标签: ms-access ms-access-2007

我搜索了大量的讨论,但无法找到解决我特定问题的方法。我有一个Access 2007数据库,其中包含Faculty表和多对多关系中的Sessions表。教师可以在多个会话中,并且可以具有不同的角色(演示者,主持人,辅导员等),具体取决于您查看的会话。我正在尝试创建一个查询,在所有会话中的单个记录中列出教师成员的角色。目前,我为教师成员所在的每个会话获得一条记录,除非他们的角色在另一个会话中相同。我希望看到他们的角色全面独立于他们所处的会议。

我是那里的一部分。下面是我目前查询的SQL代码。

SELECT DISTINCT 
  FacultySessionJoin.FacultyID, 
  Faculty.FirstName, 
  Faculty.LastName, 
  Faculty.Email, 
  FacultySessionJoin.Presenter, 
  FacultySessionJoin.Moderator, 
  FacultySessionJoin.Facilitator
FROM 
  Faculty 
LEFT JOIN 
  FacultySessionJoin ON Faculty.FacultyID = FacultySessionJoin.FacultyID
ORDER BY FacultySessionJoin.FacultyID;

我会发布结果图片,但该网站不允许我这样做。这是我的问题的一个例子:

Faculty ID  FirstName  LastName  Presenter  Moderator  Facilitator
3            Vanessa    Smith      Yes         
3            Vanessa    Smith      Yes        Yes

如何将查询中的所有此类记录合并为一行,例如:

Faculty ID  FirstName  LastName  Presenter  Moderator  Facilitator
3            Vanessa    Smith      Yes        Yes

1 个答案:

答案 0 :(得分:0)

怎么样:

SELECT 
   FacultySessionJoin.FacultyID, 
   Faculty.FirstName, Faculty.LastName, 
   Faculty.Email, 
   Max(FacultySessionJoin.Presenter), 
   Max(FacultySessionJoin.Moderator), 
   Max(FacultySessionJoin.Facilitator)
FROM Faculty 
LEFT JOIN FacultySessionJoin 
ON Faculty.FacultyID = FacultySessionJoin.FacultyID
GROUP BY 
   FacultySessionJoin.FacultyID, Faculty.FirstName, 
   Faculty.LastName, Faculty.Email