从可能具有多个字段值的数据库进行查询

时间:2015-10-27 04:49:14

标签: database ms-access access-vba

我们有一个excel表格,格式如下:

APP_ID    FirstName   LastName    Experience         GPA 
======================================================
12        XXX1        YYY1        Lifeguard          3.4
12                                Soccer Referee     3.9
13        XXX2        YYY2        Server; Hostess    3.2
13                                Chemistry Tutor
13                                Teaching Assistant

正如您所看到的,对于经验和GPA,我们可能有多个值。我将设计一个表单,以便他们可以查询和搜索经验丰富的人或具有最低GPA的人。 (每个人可能有多个GPA,我们只考虑最大值)

我希望他们能够将这些数据复制并粘贴到访问中并使用我的表单。 (他们对访问的了解最少)。 因此,当我将其导入访问时,我会得到类似的结果:

ID     APP_ID    FirstName   LastName    Experience         GPA 
================================================================
1      12        XXX1        YYY1        Lifeguard          3.4
2      12                                Soccer Referee     3.9
3      13        XXX2        YYY2        Server; Hostess    3.2
4      13                                Chemistry Tutor
5      13                                Teaching Assistant

如何在此表格中进行这些搜索?

1 个答案:

答案 0 :(得分:1)

假设您的表名为Table3,您可以编写如下查询:

select * from table3
inner join (
  select firstname, lastname, max(gpa) as maxgpa
  from Table3
  group by firstname, lastname
) temptable
on table3.firstname = temptable.firstname
and table3.lastname = temptable.lastname
and table3.gpa = temptable.maxgpa

获取每个人的GPA最高记录。

如果您的表格如下:

ID  APP_ID  FirstName   LastName    Experience      GPA
1   12      John        Smith       Lifeguard       3.4
2   12      John        Smith       Soccer Referee  3.9
3   13      Matt        Rogers      Server          3.2
4   13      Matt        Rogers      Tutor           3.4
5   13      Matt        Rogers      TA              3.5

结果将是:

ID  APP_ID  FirstName   LastName    Experience      GPA
2   12      John        Smith       Soccer Referee  3.9
5   13      Matt        Rogers      TA              3.5