Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何将Access 2007中的多个记录合并到单个记录中?_Ms Access_Ms Access 2007 - Fatal编程技术网

Ms access 如何将Access 2007中的多个记录合并到单个记录中?

Ms access 如何将Access 2007中的多个记录合并到单个记录中?,ms-access,ms-access-2007,Ms Access,Ms Access 2007,我已经找遍了无数次的讨论,但始终无法找到解决我这个问题的办法。我有一个Access 2007数据库,其中包含多对多关系中的教员表和会话表。教员可以参加多个课程,并且根据您观看的课程,他们可以扮演不同的角色(演示者、主持人、促进者等)。我试图创建一个查询,在一个记录中列出教员在所有课程中的角色。目前,我为教员参加的每节课都会得到一份记录,除非他们在另一节课中的角色相同。我希望看到他们的角色与他们所参加的会议无关 我是这条路的一部分。下面是我当前查询的SQL代码 SELECT DISTINCT

我已经找遍了无数次的讨论,但始终无法找到解决我这个问题的办法。我有一个Access 2007数据库,其中包含多对多关系中的教员表和会话表。教员可以参加多个课程,并且根据您观看的课程,他们可以扮演不同的角色(演示者、主持人、促进者等)。我试图创建一个查询,在一个记录中列出教员在所有课程中的角色。目前,我为教员参加的每节课都会得到一份记录,除非他们在另一节课中的角色相同。我希望看到他们的角色与他们所参加的会议无关

我是这条路的一部分。下面是我当前查询的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
那么:

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根据原始帖子中提供的信息返回所需的结果。