Ms access 如何将Access 2007中的多个记录合并到单个记录中?
我已经找遍了无数次的讨论,但始终无法找到解决我这个问题的办法。我有一个Access 2007数据库,其中包含多对多关系中的教员表和会话表。教员可以参加多个课程,并且根据您观看的课程,他们可以扮演不同的角色(演示者、主持人、促进者等)。我试图创建一个查询,在一个记录中列出教员在所有课程中的角色。目前,我为教员参加的每节课都会得到一份记录,除非他们在另一节课中的角色相同。我希望看到他们的角色与他们所参加的会议无关 我是这条路的一部分。下面是我当前查询的SQL代码Ms access 如何将Access 2007中的多个记录合并到单个记录中?,ms-access,ms-access-2007,Ms Access,Ms Access 2007,我已经找遍了无数次的讨论,但始终无法找到解决我这个问题的办法。我有一个Access 2007数据库,其中包含多对多关系中的教员表和会话表。教员可以参加多个课程,并且根据您观看的课程,他们可以扮演不同的角色(演示者、主持人、促进者等)。我试图创建一个查询,在一个记录中列出教员在所有课程中的角色。目前,我为教员参加的每节课都会得到一份记录,除非他们在另一节课中的角色相同。我希望看到他们的角色与他们所参加的会议无关 我是这条路的一部分。下面是我当前查询的SQL代码 SELECT DISTINCT
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
那么:
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
该解决方案在查询结果中每个教员只返回一条记录,但返回的值不正确。在这种情况下,您需要发布足够的样本数据以进行适当的测试。两个表中的一小部分就足够了。上面的SQL根据原始帖子中提供的信息返回所需的结果。