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