我目前在MySQL数据库中有5个表。它们中的一些共享外键并且彼此相互依赖。我正在尝试创建一个能够并排显示所有结果的查询(major
,course
,semester
等)。我创建的查询查询它没有显示我想要的结果,因为我没有添加其他表。我不知道如何实现其他表。如何修改mysql-query以按顺序显示所有结果?
查询
select * from course left join major on course.id = majors.id left join majors on courses_major_xref.majors_id = majors.id
答案 0 :(得分:1)
我认为您的查询中只有一些操作顺序问题,请尝试:
SELECT * from course
LEFT JOIN major_course_xref
ON course.id = major_course_xref.courseID
LEFT JOIN major
ON major.id = major_course_xref.major_id
LEFT JOIN course_semester_xref
ON course.id = course_semester_xref.course_id
LEFT JOIN semester
ON course_semester_xref.semester_id = semester.id
答案 1 :(得分:1)
尝试以下
SELECT * FROM course
INNER JOIN major_courses_xref ON course.id = major_courses_xref.course_id
INNER join majors ON major_courses_xref.majors_id = majors.id
INNER JOIN courses_semester_xref ON course.id = courses_semester_xref.course_id
INNER JOIN semester ON courses_semester_xref.semester_id = semester.id;