Mysql on子句中的未知列使用别名
我在中的on子句中得到一个未知列Mysql on子句中的未知列使用别名,mysql,sql,Mysql,Sql,我在中的on子句中得到一个未知列 SELECT course.title AS course, prereq.title AS prereq FROM (SELECT title FROM course) AS course RIGHT OUTER JOIN (SELECT title FROM course) AS prereq ON (course.course_id = prereq.course_id); 我也尝试过使用course_id,但在形式上出现了相同的错误: 选择cour
SELECT course.title AS course, prereq.title AS prereq
FROM (SELECT title FROM course) AS course
RIGHT OUTER JOIN (SELECT title FROM course) AS prereq
ON (course.course_id = prereq.course_id);
我也尝试过使用course_id,但在形式上出现了相同的错误:
选择course.title作为课程,选择prereq.title作为prereq
从中选择标题、课程\u id
顺理成章
右外连接选择标题,课程id
使用课程id从课程作为预请求;
跳过子查询:
SELECT c.title AS course, p.title AS prereq
FROM course AS c
RIGHT OUTER JOIN course AS p
ON c.course_id = p.course_id;
注意:不必要的子查询会使优化器工作更加困难,这会影响性能
顺便说一句,你确定你想要一个正确的加入吗?看起来更像是左联接。您必须将课程id添加到两个子查询的输出列表中。您正在使用单个列对表进行自联接。这不会产生任何有趣的结果。样本数据、期望的结果以及对您想要完成的任务的清晰解释都会有所帮助。