【问题标题】:Maximum Value from multiple tables多个表的最大值
【发布时间】:2014-01-28 17:46:55
【问题描述】:

我是一名高中数学老师,也是我校的“数据专家”。我是在 Microsft Exel 和 Access 方面自学成才的,最近我一直在学习一些 SQL 查询语言,这些语言背后是我通常的 Access 工作。我很乐意使用 Access 查询将来自多个来源的数据联系在一起,例如来自一个来源的考试成绩、来自第二个来源的英语水平以及来自第三个来源的家庭电话号码。

这是我在 Microsoft Access 中不知道该怎么做的情况。

我的数学学生每年最多参加 3 次纽约州考试。他们需要 80 分才能被认为是“准备上大学”。

这里有 3 个示例表。每个表都使用唯一的主键“StudentID”。综合代数考试的代码为 MXRE。

Table #1 name:  JanuaryAlgebra

StudentID   Course    Mark    
201          MXRE      90 
202          MXRE      55
203          MXRE      67
204          MXRE      80
205          MXRE      78

注意:学生 #201 和 #204 已完成考试,请勿再次参加。

Table #2 name:  JuneAlgebra

StudentID   Course    Mark
202          MXRE      70
203          MXRE      76
205          MXRE      81
206          MXRE      86
207          MXRE      78

学校有两个新学生,#206 和 #207。 #205 和 #206 学生以高分完成了考试,其余三名学生第三次尝试考试。

表 #3 名称:AugustAlgebra

StudentID   Course    Mark
202          MXRE      72
203          MXRE      83
207          MXRE      93

我如何返回一个查询,每个 StudentID 在一行中显示他们在学年结束后的最高考试成绩???

谢谢!

  • 杰夫

【问题讨论】:

  • 我认为您不能在一个 Access 查询中执行此操作(除非您有另一个包含所有学生 ID 的表)。您是否考虑过切换到另一个数据库,例如 SQL Server Express(也是免费的)?

标签: sql ms-access


【解决方案1】:

我对 Access 不太熟悉,但我认为它支持 T-SQL。如果是这样,那么您可以在一个语句中选择所有行并获得最大值。虽然我在写这个答案时意识到,使用子选择可能更容易

在 SQL 中它看起来像:

SELECT StudentId, Course, Max(Mark) 从 ( SELECT StudentId, Course, Mark FROM JanuaryAlgebra 联盟 从 JuneAlgebra 中选择 StudentId、Course、Mark 联盟 从 AugustAlgebra 中选择 StudentId、Course、Mark ) 作为新表 GROUP BY StudentId,课程

【讨论】:

  • 作为记录,Access SQL 和 T-SQL(用于 SQL Server)是非常不同的,但是您答案中的查询在 Access SQL 中应该可以正常工作。
【解决方案2】:

我建议改变表结构:

YourTable (Student_ID,Course,Mark,Date)

那你就可以简单查询了:

SELECT Student_ID,Course,MAX(Mark) AS Max_Mark
FROM YourTable
--WHERE Course = 'MXRE'    --If you wanted only algebra results.
GROUP BY Student_ID,Course

结构相同的多个表几乎没有意义。

但是,您可以使用当前格式通过将子查询中的所有表联合在一起来执行此操作。

【讨论】:

    猜你喜欢
    • 2013-01-08
    • 2020-07-29
    • 2017-07-10
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    • 2013-10-14
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多