我正在查找特定课程的访问日志。我需要显示所有课程,即使它们不存在于日志表中。因此外部连接....但是在尝试(大概)SQL代码中表的所有变体LEFT OUTER
,和放置之后RIGHT OUTER
,INNER
我无法得到我的结果。
这是我正在运行的内容:
SELECT (a.first_name+' '+a.last_name) instructor,
c.course_id,
COUNT(l.access_date) course_logins,
a.logins system_logins,
MAX(l.access_date) last_course_login,
a.last_login last_system_login
FROM lsn_logs l RIGHT OUTER JOIN courses c ON l.course_id = c.course_id,
accounts a
WHERE l.object_id = 'LOGIN'
AND c.course_type = 'COURSE'
AND c.course_id NOT LIKE '%TEST%'
AND a.account_rights > 2
AND l.user_id = a.username
AND ((a.first_name+' '+a.last_name) = c.instructor)
GROUP BY c.course_id,
a.first_name,
a.last_name,
a.last_login,
a.logins,
c.instructor
ORDER BY a.last_name,
a.first_name,
c.course_id,
course_logins DESC
是不是该WHERE
子句中的某些内容阻止我获取 lsn_logs 中不存在的 course_id?这是我加入表格的方式吗?
同样,简而言之,我想要所有 course_id,无论它们是否存在于 lsn_logs 中。