학생을 워크샵에 등록 할 수있는 데이터베이스를 만들고 StudentID 및 WorkshopID를 유지하는 WorkshopRegistration 테이블이 있습니다. 내 목표는 StudentName, SchoolName, Workshop1, Workshop2 열이있는 테이블을 반환하는 것입니다. 학생들은 두 번 이상의 워크샵에 등록하지 않습니다. 1 열짜리 워크샵을 기꺼이 받아 들였지만 두 번째 워크샵을 만드는 데 문제가 있습니다.원본의 열로 하위 쿼리에 의해 반환 된 행 얻기
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