学生がワークショップに登録できるデータベースを作成しています。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;