Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Desnormalizando dados (talvez um pivô?)


Você pode usar pivô. Você também precisa "classificar" seus professores de 1 a 6. Veja meu comentário sobre como você quer fazer isso. Por enquanto:
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

Então você pode girar sobre esta declaração. Aqui está uma boa explicação:Usando Pivot e UnPivot