sql >> Base de Datos >  >> RDS >> Sqlserver

Desnormalización de datos (¿quizás un pivote?)

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