SELECT
s.session_name semester
FROM
lsx.elsp_session s,
lsx.elsp_course_offering co,
its.ACCOUNT ac
LEFT OUTER JOIN lsx.elsp_class_attendance ca on ca.course_id = CO.ID and ca.student_number = ac.id
WHERE co.session_id = s.session_id
我收到 ORA-00904 错误,问题似乎在于“CO.ID”是无效标识符。但是,如果我将“lsx.elsp_course_offering co”表放在 FROM 列表的最后,那么“ac.id”将成为问题标识符。
不能在 JOIN 子句中使用另一个表吗?我似乎记得使用 MySQL 创建了这样的成功查询。
我正在使用 Oracle 9.2.0.8.0。
按照我收到的建议,当我将查询重新修改为以下内容时,我能够使连接按预期工作:
SELECT s.session_name semester FROM lsx.elsp_session s
INNER JOIN lsx.elsp_course_offering co
ON co.session_id = s.session_id
LEFT OUTER JOIN lsx.elsp_class_attendance ca
ON ca.course_id = co.id
LEFT OUTER JOIN its.account ac
ON ca.student_number = ac.id
非常感谢您的帮助。