MS sql从年龄最大的学生检索成绩数据
我对SQL非常陌生。我正试图从我的数据库中检索一些数据。我使用的SQL数据库是MS SQL,服务器有三个可用表: 学生 分数 等级类型 我试图从100名注册日期最早的学生那里获取成绩数据,注册日期在表students中 这是我尝试过的说法,但不起作用: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
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;
请注意,如果年龄较大的学生没有成绩,您可能需要一个
左连接。尝试删除第一个顺序。这是语法上不允许的。谢谢你的回答,但不幸的是它们不起作用:(我上传了一些表格的图片。