成绩表:
学号,姓名,学期,课程名称,总评分要求查询第一学期每门课程的最高分、平均分,及最高分学生姓名。显示:
姓名,课程名称,平均分,最高分请问这个查询怎么写? __________________________________________________我在access2000中先定义一个查询:
成绩查询1:
SELECT [成绩].[课程名称], Avg([成绩].[总评分]) AS 平均分, Max([成绩].[总评分]) AS 最高分
FROM 成绩
WHERE ((([成绩].[所学学期])=1))
GROUP BY [成绩].[课程名称];然后在vb程序里这样调用:
    
    '平均分最高分
    Adodc5.RecordSource = "SELECT [成绩].[姓名], [成绩].[学号], [成绩查询1].[课程名称], [成绩查询1].[最高分], [成绩查询1].[平均分] " _
            & "From 成绩查询1, 成绩 " _
            & "Where ((([成绩].[课程名称]) = [成绩查询1].[课程名称]) And (([成绩].[总评分]) = [成绩查询1].[最高分]) And " _
            & "([成绩].[所学学期] = " & Combo1.Text & ")) " _
            & "ORDER BY [成绩查询1].[课程名称]"
    Adodc5.Refresh
    DataGrid4.ReBind    Set DataGrid4.DataSource = Adodc5
在这里有个问题,在成绩查询1里我规定了([成绩].[所学学期])=1,而实际上
[成绩].[所学学期] = " & Combo1.Text & ")
就是如何实现带参数的查询,并把以上两个查询写成一个?请高手指教!谢谢。

解决方案 »

  1.   

    [成绩].[所学学期] = '" & Combo1.Text & "')"
    如果[成绩].[所学学期]是字符串,两边用“'”和“'”
      

  2.   

    "SELECT b.课程名称, a.学号, a.姓名, b.mfs AS 最高分, b.zfs AS 平均分
    FROM 成绩表 AS a, [select 所学学期,课程名称 ,max(总评分) as mfs,avg(总评分) as zfs from 成绩表 group by 所学学期,课程名称]. AS b
    WHERE a.总评分=b.mfs and a.所学学期=b.所学学期  and a.课程名称 =b.课程名称 And a.所学学期='" & Combo1.Text & "'"