我正在尝试连接几个表来生成具有先决条件的类列表.一切都很好,除了我需要两个类的名字前提条件和原始类.
到目前为止我有
SELECT course_name, c.course_number, course_name, prereq
FROM rearp.course c, rearp.prereq p
WHERE c.course_number = p.course_number;
Run Code Online (Sandbox Code Playgroud)
这给了我(你已经可以看到一个问题,course_name在那里两次[不知道如何处理它否则])
忽略格式只是注意课程名称或先决条件仅对应于原始课程而不是先决条件.
我的问题是我不能得到匹配的名字.
使用别名并确保始终在字段列表中包含表名:
SELECT
c.course_name,
c.course_number,
p.course_name AS prereq_course_name,
p.prereq
FROM rearp.course AS c, rearp.prereq AS p
WHERE c.course_number = p.course_number
Run Code Online (Sandbox Code Playgroud)
另外,请使用有意义的表别名而不是单个字母,并尝试使用实际连接而不是隐式连接.如果您使用MySQL,则连接将是交叉连接,这是低效且不必要的.
编辑:在字段列表中添加逗号...