0

我搜索了许多讨论,但无法找到解决我的特定问题的方法。我有一个 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
4

1 回答 1

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
于 2012-08-17T20:52:45.500 回答