Puedes usar el pivote. También necesita "clasificar" a sus maestros del 1 al 6. Mira mi comentario sobre cómo quieres hacer esto. Por ahora:
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
Entonces puede pivotar sobre esta declaración. Aquí hay una buena explicación:Uso de Pivot y UnPivot