【发布时间】:2014-04-15 22:07:57
【问题描述】:
我有两张表,一张叫Classes,其中包含ClassName,一张叫FullSchedule,其中包含ClassName、DayVal和TimeVal等信息。
我想要做的是,我想选择在特定日期和时间没有使用的类,这是我的查询:
SELECT `Classes`.`ClassName`
FROM `FullSchedule`
RIGHT OUTER JOIN `Classes`
ON `FullSchedule`.`ClassName` = `Classes`.`ClassName`
WHERE `FullSchedule`.`DayVal` = '$day' AND `FullSchedule`.`TimeVal` = `$time`
虽然我使用RIGHT OUTER JOIN,但结果是使用的类(常见的),即使我将其更改为:
ON `FullSchedule`.`ClassName` != `Classes`.`ClassName`
它向我显示所有类,无论我如何更改它,它要么获取所有类,要么只获取正在使用的类。如何获取未使用的课程?
【问题讨论】:
-
请注意,实际上没有人使用 RIGHT JOIN。没有错 - 这对许多人(包括我)来说只是有点违反直觉 - 但也许这是西方的,从左到右的写作方式。