有关ACCESS 中SQL语句

[复制链接]
查看11 | 回复1 | 2010-11-19 11:40:25 | 显示全部楼层 |阅读模式
SELECT Student.MajorID, Student.State, Student.EntryYear, Class.Semester, Enrollment.MidtermGrade, Enrollment.FinalGrade, Course.Department, Course.Credits, Student.Gender, Student.USResident, Course.MPCategory, Course.Technical
FROM (Major INNER JOIN Student ON Major.MajorID = Student.MajorID) INNER JOIN (Course INNER JOIN (Class INNER JOIN Enrollment ON Class.ClassID = Enrollment.ClassID) ON Course.CourseID = Class.CourseID) ON Student.StudentID = Enrollment.StudentID
WHERE (((Class.Semester) Like [EntryYear] & "*"));
上面那一大堆没什么意思,就是从一堆表中选出某几列,最后的结果是筛选出了每年的新生在大一的期中和期末各科成绩,例如2003年入学的新生在2003春季班+2003秋季班,这一整学年的期中和期末的各科成绩。
问题出现在最后的这个条件句,为什么将Semester 与EntryYear设为相似就可以筛选出当年的新生在当年的全部学习成绩,而不会将其他年份入学的人混在一起?
WHERE (((Class.Semester) Like [EntryYear] & "*"));还有,这个语句后面的 ([EntryYear] & "*")是什么意思??

回复

使用道具 举报

千问 | 2010-11-19 11:40:25 | 显示全部楼层
模糊查询啊,([EntryYear] & "*")是代表模糊的范围,EntryYear是年度,后面的* 是任意匹配。WHERE (((Class.Semester) Like [EntryYear] & "*"))总的意思就是查询学号前几位是EntryYear的所有学生啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行