none
SUB CONSULTA DENTRO DE UNA CONSULTA RRS feed

  • Pregunta

  • @Num_Estudiante nvarchar(10),
    @Curso int
     as
    
     with R as (
     select *, row_number() over(partition by Num_Estudiante, Codigo_Clase order by Termino) as rn
     from Notas_pro_eva_bol_Trans 
       )
    
       select 
         r.termino, r.Num_Estudiante, r.Codigo_Clase,r.Creditos,c.Descripcion,d.Horas,d.Trabajo_Externo,
    	 d.descripcion as Des_Clase,
    	 (E.Apellido_Paterno + ' ' + E.Apellido_materno + ' ' + E.Nombre + ' ' + E.Inicial) as Nombre_Estudiante,
         max(case when rn = 1 then Nota_Final end) as Nota_1, 
         max(case when rn = 2 then Nota_Final end) as Nota_2,
         max(case when rn = 3 then Nota_Final end) as Nota_3
    	
     from 
         R
    	 left join Matriculas_Tabla B on r.Num_Estudiante=b.Num_Estudiante
    	 left join Cursos_Tabla C on B.Curso=C.Num_Curso
    	 left join Clases_Tabla D on r.Codigo_Clase=d.Codigo_Clase
    	 left join Estudiantes_Tabla E on r.num_Estudiante=E.Num_Estudiante
    	 where r.Num_Estudiante=@Num_Estudiante and c.Num_Curso=@Curso
     group by 
         r.termino, r.Num_Estudiante, r.Codigo_Clase,r.Creditos,c.Descripcion,d.Horas,d.Trabajo_Externo,d.descripcion,
    	 E.Apellido_Paterno,E.Apellido_materno,E.Nombre,E.Inicial
    
    	order by
         Num_Estudiante,
         CASE
         WHEN r.Codigo_Clase = 'MATE 100' then 1
         WHEN r.Codigo_Clase = 'COMP 104' then 2
         WHEN r.Codigo_Clase = 'ELEC 103' then 3
    	 WHEN r.Codigo_Clase = 'RECO 203' then 4
         WHEN r.Codigo_Clase = 'GER 207' then 5
    	 
         WHEN r.Codigo_Clase = 'RECO 205' then 6
    	 WHEN r.Codigo_Clase = 'RECO 215' then 7
         WHEN r.Codigo_Clase = 'RECO 211' then 8
         WHEN r.Codigo_Clase = 'RECO 221' then 9
    	 WHEN r.Codigo_Clase = 'RECO 213' THEN 10
    	 WHEN R.Codigo_Clase = 'ELEC 101' THEN 11
    
    	 WHEN r.Codigo_Clase = 'RECO 207' then 12
    	 WHEN r.Codigo_Clase = 'RECO 208' then 13
         WHEN r.Codigo_Clase = 'ELEC 106' then 14
         WHEN r.Codigo_Clase = 'COMP 212' then 15
    	 WHEN r.Codigo_Clase = 'RECO 224' then 16
    	 else
    	17
    	 END,
    	 Codigo_Clase

    PRIMER SEMESTRE
    MATE 100
    COMP 104
    ELEC 103
    RECO 203
    GER 207
    
    SEGUNDO SEMESTRE
    RECO 205
    RECO 215
    RECO 211
    RECO 221
    RECO 213
    ELEC 101
    
    TERCER SEMESTRE
    RECO 207
    RECO 208
    ELEC 106
    COMP 212
    RECO 224
    QUIERO QUE LOS DATOS SALGAN DE LA SIGUIENTE FORMA, SE QUE LA CONSULTA TIENE MAS DATOS PERO CUANDO LLEVO ESTA CONSULTA A CRISTAL REPORTS LOS DATOS SALEN EN FORMA SECUENCIAL Y NO SE COMO PODER AGRUPARLOS BAJO EL TITULO QUE QUIERO, O SERIA POSIBLE HACER VARIAS SUB CONSULTAS DENTRO DE UN SOLO PROCEDIMIENTO ALMACENADO...................... NO SE SI LO QUE ESTOY PREGUNTANDO TIENE LOGICA PERO BUENO ES LA IDEA QUE TENGO


    • Editado Efrain Diaz miércoles, 22 de marzo de 2017 21:13
    miércoles, 22 de marzo de 2017 21:12

Respuestas