生徒がワークショップに登録できるデータベースを作成しています。私はStudentIDとWorkshopIDを保持するWorkshopRegistrationテーブルを持っています。私の目標は、列StudentName、SchoolName、Workshop1、Workshop2のテーブルを返すことです。学生は2回以上のワークショップに参加することはありません。私は1つのワークショップをコラムとして持つようになったが、2番目のワークショップを手に入れるのは難しい。元の列としてサブクエリによって返された行の取得
SELECT Students.StudentID, Students.name, Schools.name,
(SELECT Workshops.title
FROM Workshops
WHERE Workshops.WorkshopID IN
(SELECT WorkshopID
FROM WorkshopRegistration
WHERE WorkshopRegistration.StudentID=Students.StudentID)) as Workshop1,
(SELECT Workshops.title
FROM Workshops
WHERE Workshops.WorkshopID IN
(SELECT WorkshopID
FROM WorkshopRegistration
WHERE WorkshopRegistration.StudentID=Students.StudentID)) as Workshop2
FROM Students, Schools
WHERE Students.SchoolID=Schools.SchoolID;
これらの両方が私のニーズに合っていますが、前のクエリの制限については正しいです。あなたの答えをありがとう! – panahi