ピボットを使用できます。また、教師を1〜6ランク付けする必要があります。これをどのように実行したいかについての私のコメントを参照してください。今のところ:
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
次に、このステートメントをピボットできます。ここに良い説明があります:PivotとUnPivotの使用