1

Kim (Staff_Fname) Cox (Staff_Lname) と同じコースを教えたことがある、または Kim Cox と同じ部屋 (Loc_id) で教えたことのあるすべてのスタッフの名前と姓をリストするクエリを作成しています。

これまでのところ、私はこれを書いています(そしてそれはエラーでいっぱいです):

SELECT KimClasses.Course_Code, KimClasses.Course_Name, St2.Staff_Fname, St2.Staff_Lname
FROM
(SELECT St.Staff_id, CS.C_SE_id, C.Course_code, C.Course_name
FROM Staff St
JOIN CourseSection CS ON St.Staff_id = CS.Staff_ID
JOIN Location L ON CS.Loc_ID = L.Loc_id
JOIN Course C ON CS.Course_ID = C.Course_ID
WHERE St.Staff_Fname = "Kim"
    AND St.Staff_Lname = "Cox") KimClasses
JOIN CourseSection CS2 ON KimClasses.Course_ID = CS2.Course_ID
    AND NOT KimClasses.Staff_id = St2.Staff_id;

しかし、同じ部屋で教えたスタッフをリストする部分をどのように含めるかはわかりません。

データベース スキーマ: http://i.stack.imgur.com/dTGV5.jpg

4

1 に答える 1

1

これで始められるはずです...

 Select s.staff_fname,s.staff_lname
 from staff s join course_section cs
 on s.staff_if = cs.staff_id
 where cs.course_id in (select distinct s1.course_id from staff s1 join course_section sc1 where s1.Staff_Fname = 'kim' and s1.Staff_Lname = "Cox" )
 OR s.loc_id in  (select distinct s2.loc_id from staff s2 join course_section sc2 where s2.Staff_Fname = 'kim' and s2.Staff_Lname = "Cox" )
于 2013-05-25T00:45:39.637 に答える