Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
Sql 以Oracle中最高的价值加入_Sql_Database_Oracle - Fatal编程技术网

Sql 以Oracle中最高的价值加入

Sql 以Oracle中最高的价值加入,sql,database,oracle,Sql,Database,Oracle,我每年有两张桌子,学生和学生 students --------- ID Name --------- 1 ABC 2 XYZ school_year ----------- ID student_id grade year -------------------------- 1 1 5 2011 2 1 6 2012 3 2 1 2010 4 2 2

我每年有两张桌子,学生和学生

students
---------
ID  Name
---------
1   ABC
2   XYZ

school_year
-----------
ID  student_id  grade year
--------------------------
1   1           5     2011
2   1           6     2012
3   2           1     2010
4   2           2     2011
5   2           3     2012
我加入他们,得到这个结果

select s.*, sy.grade, sy.year
from students s
left join school_year sy
on s.id=sy.student_id
order by s.name
id name        grade year
---------------------------
1   ABC        5     2011
1   ABC        6     2012
2   XYZ        1     2010
2   XYZ        2     2011
2   XYZ        3     2012
我得到了这个结果

select s.*, sy.grade, sy.year
from students s
left join school_year sy
on s.id=sy.student_id
order by s.name
id name        grade year
---------------------------
1   ABC        5     2011
1   ABC        6     2012
2   XYZ        1     2010
2   XYZ        2     2011
2   XYZ        3     2012
我想加入学生成绩最高的学年表,因此该表如下所示

id name       grade  year
-------------------------
1  ABC        6      2012
2  XYZ        3      2012
请帮忙。谢谢

试试这个:

SELECT s.id, s.name, sy1.grade, sy1.year FROM school_year sy1
LEFT JOIN school_year sy2
  ON sy1.student_id = sy2.student_id AND sy1.grade < sy2.grade
JOIN students s ON sy1.student_id = s.id
WHERE sy2.grade IS NULL
选择s.id、s.name、sy1.grade、sy1.year FROM school\u year sy1
左入学校(二年级)
关于sy1.student\u id=sy2.student\u id和sy1.grade
小提琴