Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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
MS sql从年龄最大的学生检索成绩数据_Sql_Sql Server - Fatal编程技术网

MS sql从年龄最大的学生检索成绩数据

MS sql从年龄最大的学生检索成绩数据,sql,sql-server,Sql,Sql Server,我对SQL非常陌生。我正试图从我的数据库中检索一些数据。我使用的SQL数据库是MS SQL,服务器有三个可用表: 学生 分数 等级类型 我试图从100名注册日期最早的学生那里获取成绩数据,注册日期在表students中 这是我尝试过的说法,但不起作用: Select top (100) * from students order by ENROLL_DATE ASC inner join grades on students.PERSON_ID = grades.PERSON_ID order

我对SQL非常陌生。我正试图从我的数据库中检索一些数据。我使用的SQL数据库是MS SQL,服务器有三个可用表:

学生 分数 等级类型

我试图从100名注册日期最早的学生那里获取成绩数据,注册日期在表students中

这是我尝试过的说法,但不起作用:

 Select top (100) * from students order by ENROLL_DATE ASC inner join grades on students.PERSON_ID = grades.PERSON_ID order by ENROLL_DATE

你很接近。只能有一个订单,并且必须在最后完成:

Select top 100 *
from students inner join grades on students.PERSON_ID = grades.PERSON_ID
order by ENROLL_DATE

假设学生可以有多个成绩,那么您希望首先选择100名学生,然后检索他们的所有成绩:

Select *
from (select top (100) s.*
      from students s
      order by ENROLL_DATE ASC
     ) s inner join
     grades g
     on s.PERSON_ID = g.PERSON_ID
order by ENROLL_DATE;

请注意,如果年龄较大的学生没有成绩,您可能需要一个
左连接。

尝试删除第一个
顺序。这是语法上不允许的。谢谢你的回答,但不幸的是它们不起作用:(我上传了一些表格的图片。