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