我在这里使用两张桌子。
获取这些表并显示课程编号,课程名称,先决条件和先决条件名称的想法。
然而,你可以看到我必须处理歧义。
到目前为止,我运行了此查询
SELECT c.course_name, p.course_number, course_name AS "prereq_course",prereq
FROM rearp.course c, rearp.prereq p
WHERE c.course_number = p.course_number;
得到了这个......
看起来一切都很好,除非您注意到先决条件的课程名称只是课程的副本。
我该如何解决这个问题?
答案 0 :(得分:3)
我猜测你想要查找必备课程并获得它的名字。
您需要第二次加入课程表:
SELECT c.course_name, p.course_number, c2.course_name AS "prereq_course",p.prereq
FROM
rearp.course c
inner join
rearp.prereq p
ON c.course_number = p.course_number
inner join
rearp.course c2
on
p.prereq = c2.course_number
(我也改用了ansi join语法,而不是,
样式)