0

インストラクターと同じ郵便番号に住んでいる学生を教えているインストラクターを取得しようとしています。

最初に、intersect を使用して学生と講師が共有している郵便番号を見つけました。

SELECT DISTINCT FIRST_NAME,LAST_NAME,PHONE
FROM INSTRUCTOR 
 WHERE ZIP IN (
               SELECT ZIP 
               FROM STUDENT
               INTERSECT
               SELECT ZIP
               FROM INSTRUCTOR

                );

上記のクエリのどこにあるすべての学生の section_id をどのように見つけることができますか?

SELECT SECTION_ID   
FROM STUDENT s
JOIN ENROLLMENT e ON s.STUDENT_ID = e.STUDENT_ID
JOIN SECTION w ON e.SECTION_ID = w.SECTION_ID
JOIN INSTRUCTOR z ON w.INSTRUCTOR_ID = z.INSTRUCTOR_ID;

INSTRUCTOR_ID.SECTION_ID = STUDENT_ID SECTION_ID のような内部クエリを取得する方法がわかりません。

現在、クエリでその郵便番号に住んでいたすべての教師を返すだけですが、その郵便番号のインストラクターが教えているセクションを受講している学生も確認する必要があります....

SELECT DISTINCT FIRST_NAME,LAST_NAME,PHONE
FROM
    (
SELECT FIRST_NAME,LAST_NAME,PHONE,ZIP
FROM STUDENT 

    ) 
Derived
 WHERE ZIP IN (
               SELECT ZIP 
               FROM STUDENT
               INTERSECT
               SELECT ZIP
               FROM INSTRUCTOR

                );
4

2 に答える 2

1
SELECT DISTINCT z.FIRST_NAME,z.LAST_NAME,z.PHONE
FROM STUDENT s
JOIN ENROLLMENT e ON s.STUDENT_ID = e.STUDENT_ID
JOIN SECTION w ON e.SECTION_ID = w.SECTION_ID
JOIN INSTRUCTOR z ON w.INSTRUCTOR_ID = z.INSTRUCTOR_ID AND s.ZIP = z.ZIP
于 2013-11-02T19:36:55.500 に答える
1

講師とその生徒を返すクエリを作成します。インストラクターと生徒の郵便番号を追加します。郵便番号が同じでなければならないような述語を追加します。

于 2013-11-02T19:36:57.803 に答える