0

問題

テーブルCourseClassからSQLクエリでインストラクターのスケジュールを取得する方法は?

コース テーブルは、多対多のインストラクター テーブルおよび生成されたインストラクター コース テーブルと関係があります。

Course テーブルは、多対多の Class テーブルおよび生成された CourseClass テーブルと関係があります。そして私の図は次のとおりです:

ERD データベース設計図

私が試しているのは

SELECT     dbo.Class.*, dbo.Course_Class.*, dbo.Course.*, dbo.Inst_Course.*, dbo.Instructor.*
FROM         dbo.Class INNER JOIN
                      dbo.Course_Class ON dbo.Class.ClassID = dbo.Course_Class.ClassID INNER JOIN
                      dbo.Course ON dbo.Course_Class.CourseID = dbo.Course.CourseID INNER JOIN
                      dbo.Inst_Course ON dbo.Course.CourseID = dbo.Inst_Course.CourseID INNER JOIN
                      dbo.Instructor ON dbo.Inst_Course.InstID = dbo.Instructor.InstructorID
WHERE     (dbo.Inst_Course.InstID = 1)

クエリの結果として 4 行を取得します。間違っていることがわかります。2 行である必要があります。私の結果は間違っていますか、それとも正しいですか?

クエリの結果が間違っているか真です

4

1 に答える 1

0

あなたの結果は正しいです。1) 結果に重複する行がありません。2)ソーステーブルを見て、これを再確認できます。Inst_Course (1 および 2) にはインストラクター 1 の 2 つのコース ID があり、Course_Class の 4 つの行に対応しています (CourseID 列を参照してください。3 つの「1」タイム スロットと 1 つの「2」タイム スロットがあります)。

于 2016-11-29T15:52:31.953 に答える