有三个表如下 :
学生:学号,姓名
课程:课号,课程
成绩:学号,课号,分数要求是:写一条sql语句,显示 姓名,课程,max(分数)我写了一个,就是显示不了 姓名 这个字段:SELECT max(成绩.分数) as 分数,课程.课名
FROM 成绩 INNER JOIN
      课程 ON 成绩.课号 = 课程.课号 INNER JOIN
      学生 ON 成绩.学号 = 学生.学号 group by 课程.课名帮忙解决......

解决方案 »

  1.   

    SELECT max(成绩.分数) as 分数,课程.课名,学生.姓名
    FROM 成绩 INNER JOIN 课程 ON 成绩.课号 = 课程.课号 
    INNER JOIN 学生 ON 成绩.学号 = 学生.学号 group by 学生.姓名,课程.课名
      

  2.   

    这样是可以的,不过很晕~~~~select 学生.姓名,课程.课名,成绩.分数 from 学生 
    inner join 成绩 on 成绩.学号 = 学生.学号
    inner join 课程 on 成绩.课号 = 课程.课号
    inner join  
    (SELECT max(成绩.分数) as 分数,课程.课名
    FROM 成绩 INNER JOIN
          课程 ON 成绩.课号 = 课程.课号 INNER JOIN
          学生 ON 成绩.学号 = 学生.学号 group by 课程.课名) a 
    on (课程.课名=a.课名 and 成绩.分数=a.分数)