繁体   English   中英

SQL 查询,多个 JOIN 和 SELECT (?) 语句

[英]SQL query, multiple JOIN and SELECT (?) statements

我查看了很多答案,并在代码中尝试了不同的选项,但我无法得到我需要的结果或者查询根本不起作用。 所以不得不求助。

这是学校实验室的任务,但我这周病了,所以错过了问老师的机会,现在这个和更多类似任务的截止日期是这个周末,所以必须以某种方式弄清楚

我需要合并三个表。 没问题,但是从同一个表(教师)中,我需要获得每门课程的教师姓名以及课程的顾问教师(来自主题)。

这两个查询单独工作,但我无法弄清楚将它们合二为一的方法。

--displays all courses (its number, implementation, name) and teachers on the course
SELECT Course.subjectnumb, Course.coursenumb, Subject.subjectname, Course.participants, Teacher.firstname, Teacher.surname
FROM Course JOIN  Subject on Course.subjectnumb = Subject.subjectnumb  
JOIN Teacher on Course.teachernumb = Teacher.teachernumb  
ORDER BY Subject.subjectname ASC, Course.coursenumb ASC, Teacher.surname ASC

--display advisors names
SELECT teacher.firstname, teacher.surname 
FROM subject JOIN teacher ON teacher.teachernumb = subject.advisor 
ORDER BY teacher.surname ASC, teacher.firstname ASC

您可以在同一张桌子上加入两次。 例如 :

SELECT C.subjectnumb, C.coursenumb, 
       S.subjectname, C.participants, 
       TC.firstname as course_teacher_firstname, TC.surname as course_teacher_surname, 
       TS.firstname as subject_advisor_firstname, TS.surname as subject_advisor_surname, 
FROM Course C JOIN  Subject S on C.subjectnumb = S.subjectnumb  
JOIN Teacher TC on C.teachernumb = TC.teachernumb  
JOIN Teacher TS on S.advisor = TS.teachernumb 
ORDER BY S.subjectname ASC, C.coursenumb ASC, TC.surname ASC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM