MYSQL RIGHT JOIN无效

时间:2015-01-13 12:20:00

标签: mysql join

我需要根据两个表创建报告。表1(ka_registrationlog)包含用户在应用程序中执行的所有操作的日志。 表二(lara_teacherclass)包含将教师与他们的班级每天和每小时联系起来的记录。 两个表都驻留在同一个数据库中:

SELECT RegDate,
       ka_registrationlog.TeacherID,
       lara_teacherclass.TeacherID,
       lara_teacherclass.ClassID, 
       RegHourID,
       lara_teacherclass.DayOfWeek,
       lara_teacherclass.HourID
  FROM lara_teacherclass LEFT JOIN ka_registrationlog ON 
       lara_teacherclass.TeacherID = ka_registrationlog.TeacherID
   AND lara_teacherclass.HourID = ka_registrationlog.RegHourID
   AND (WEEKDAY(RegDate)+1) = lara_teacherclass.DayOfWeek
 WHERE lara_teacherclass.ClassID = 89
   AND WEEK(RegDate) = WEEK('2015/01/05')
   AND (Type = 1 OR Type = 2)

我已经尝试了LEFT JOIN,RIGHT JOIN和Join左边的任何一个表格,每次我最终得到41条记录(表格1中的记录数量,而在表格2中,我有44条记录给出(89)。

问题是我需要能够报告没有注册的那些小时/天,我希望用一个查询来代替编写一个循环通过表二的函数,然后检查相应的记录可以在表2中找到(每个类可以导致超过50个查询(有100多个类循环)。

我还尝试将WHERE子句移动到te ON子句,但没有产生任何记录。

任何人都知道这里出了什么问题?

0 个答案:

没有答案