我在MS Access数据库中有三个表。
我现在想创建一个Query,它可以显示每个学生之前没有学过的所有课程。这将允许我的注册经理追求他们进行更多的课程注册。
如何在MS ACCESS中轻松完成此操作?生成的查询应为:
詹姆斯|高级Flash | 詹姆斯|高级编辑| Adrian |基本编辑| Adrian | Basic Flash | Adrian |高级Flash | Adrian |高级编辑|
(詹姆斯已经参加了所有“基础”课程,而阿德里安没有参加'基础'和'高级'课程)
答案 0 :(得分:0)
执行此类查询时,有一个driver
表包含学生和课程的所有组合。然后,将其连接到注册,并选择不匹配的行:
select driver.*
from (select s.StudentName, c.CourseName
from Students as s,
Courses as c
) as driver left join
Registration as r
on r.StudentName = driver.StudentName and
r.CourseName = driver.CourseName
where r.StudentName is NULL;