尝试使用最大标记检索主题名称时遇到问题。我正在使用SQL Server 2008。
我有两张表如下:
主题表:
create table [Subject]
(
SubID int identity(1,1) primary key,
SubName nvarchar(30) not null,
SubCredit tinyint not null constraint Default_value_Subect default(1) constraint Check_value_Subject check(SubCredit>=1),
SubStatus bit constraint default_value_SubStatus default(1)
)
标记表:
create table Marks
(
MarkID int identity(1,1) primary key,
SubID int foreign key references [Subject](SubID),
StudentID int foreign key references Students(StudentID),
Mark float constraint Check_value_Mark check(Mark>=0 and Mark <=100) constraint Default_value_Mark Default(0),
ExamTime tinyint constraint Default_value_Examtime default(1)
)
我使用此SQL语句检索具有最大标记的SubID:
select Marks.SubID, MAX(Marks.Mark) as diem
from Marks
group by Marks.SubID
但我想检索SubName
值而不是SubID
。
我能怎么做?请告诉我怎么样!
非常感谢。
答案 0 :(得分:2)
这是一种仅使用join
和order by
的方法:
select top 1 s.*
from subject s join
mark m
on s.subid = m.subid
order by m.mark desc;