Możesz użyć obrotu. Musisz także "Rangować" swoich nauczycieli 1-6. Zobacz mój komentarz na temat tego, jak chcesz to zrobić. Na razie:
Select StudNumber, TeacherNumber, TeacherRank
from (
Select ST.StudNumber
, ST.TeacherNumber
, ROW_NUMBER() OVER (PARTITION BY ST.StudNumber
ORDER BY ST.TeacherNumber) AS TeacherRank
From StudentTeacher AS ST)
Where TeacherRank <=6
Następnie możesz przestawić się na to stwierdzenie. Oto dobre wyjaśnienie:Korzystanie z funkcji Pivot i UnPivot