1

クエリの定義: アート の 成績が85以上で、コンピュータコースの成績も
85以上の学生を選択し ます。QUERY(3つのセクションで説明されているのは、MySQLWorkBenchで実行される単一のクエリです)。



select Students.StudFirstName,Student_Schedules.Grade
from 
(Select Distinct Students.StudentID,Students.StudFirstName,Student_Schedules.Grade 
from (((Students

Inner Join Student_Schedules
On Student_Schedules.StudentID = Students.StudentID)

Inner Join Classes
On Classes.ClassID = Student_Schedules.ClassID)

Inner Join Subjects
On Subjects.SubjectID = Classes.SubjectID)

Inner Join Categories
On Subjects.CategoryID = Categories.CategoryID

where Categories.CategoryDescription = 'Art' and Student_Schedules.Grade >= 85)
            As Stud_Art


上記のコードは、芸術の成績が85以上の学生を抽出したものです

Inner Join

(Select Distinct Students.StudentID,Students.StudFirstName,Student_Schedules.Grade 
from (((Students

Inner Join Student_Schedules
On Student_Schedules.StudentID = Students.StudentID)

Inner Join Classes
On Classes.ClassID = Student_Schedules.ClassID)

Inner Join Subjects
On Subjects.SubjectID = Classes.SubjectID)

Inner Join Categories
On Subjects.CategoryID = Categories.CategoryID

WHERE Categories.CategoryDescription LIKE '%Computer%' AND Student_Schedules.Grade >=    85)

As Stud_CS


上記のコードは、コンピューターの成績が85以上の学生を抽出しています

On Stud_CS.StudentID = Stud_Art.StudentID;


上記のコードはArtandComputerのStudentIDと一致します


MySQLWorkBenchからのエラー:
エラーコード:1054。「フィールドリスト」の不明な列「Students.StudFirstName」

上記のクエリはSubQuery手法で解決できる可能性がありますが、内部結合手法でどのように可能かを知りたいです。

4

1 に答える 1

0

Student.StudFirstNameとStudent_Schedules.Gradeを取得しようとしていますが、テーブルのエイリアスはStud_ArtとStud_CSです。それが問題になるのでしょうか?

最初の部分は次のようにすべきだと思います。

select Stud_Art.StudFirstName,Stud_Art.Grade
于 2013-03-07T14:55:16.550 に答える