Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Daten denormalisieren (vielleicht ein Pivot?)

Sie können Pivot verwenden. Sie müssen Ihre Lehrer auch von 1 bis 6 "einstufen". Siehe meinen Kommentar, wie Sie dies tun möchten. Für jetzt:

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

Dann können Sie sich auf diese Aussage stützen. Hier ist eine gute Erklärung:Pivot und UnPivot verwenden