سلام
اصلاحش راحته این کد رو امتحان کن :
select sc.sid,sc.name,sc.age,sc.grade,c1.name firstCourse ,c2.name SecondCourse
FROM
(SELECT student.sid, student.name, student.age, student.grade, min(course.cid) as min_CID,
case COUNT(course.cid)
when 1 then null
when 2 then max(course.cid)
end as max_CID
FROM course INNER JOIN
courseStudent ON course.cid = courseStudent.cid INNER JOIN
student ON courseStudent.sid = student.sid
GROUP BY student.sid, student.name, student.age, student.grade) sc
LEFT OUTER JOIN (SELECT cid, name FROM course) C1
ON C1.cid = Sc.min_CID
LEFT OUTER JOIN (SELECT cid, name FROM course) C2
ON C2.cid = Sc.max_CID
ولی کدی که نوشتم با توجه به دیتا بیس تو بود
استفاده از min و max برای دو درس جواب میده اگه درس سوم داشته باشی جواب نمیده
بهتره در جدول course یک فیلد اضافه کنی و
firstCourse و SecondCourse و .. رو بهش اضافه کنی
انوقت میشه کد کاملتری براش نوشت