我有一个小的运动数据库,请参阅下面的ER图
我想编写一个查询,列出在2012年秋季开设的至少一门课程中具有至少一个高分(> = 3.5)的学生的学生的姓氏,名字和专业。
我的下面的代码:
select s.StdNo,s.StdFirstName,s.StdLastName,s.StdMajor,e.EnrGrade,o.OfferNo,o.OffYear
from Enrollment e
join Offering o on e.OfferNo=o.OfferNo
join Student s on s.StdNo=e.StdNo
where e.EnrGrade >=3.5 and o.OffYear="2010";
但是我遇到了SQL错误
[207] [S0001]:无效的列名'2010'
我对该错误感到困惑,值“ 2010”不是列名,“ Offyear”是列。那么为什么会这样呢?
基本查询并不难,但是我受困于(多个)嵌套查询。
答案 0 :(得分:2)
Offyear显示为数字,因此应与数字2010
而非文本"2010"
进行比较:
[...] and Offyear = 2010