none
Actualizar datos en tabla RRS feed

  • Pregunta

  • Matriculas_Tabla (Tabla 1)

    Num_Matricula     Num_Estudiante     Termino

            26                    12121010            1501

            27                    13131010            1501

    Matricula_Detalles_Tabla

    Num_Matricula     Codigo_Clase     Sesion     Sesion_Clase     Ultima_Asistencia     Ausencias

          26                 Reco_205            01                01           

          27                 Reco_205            01                01

    Asistencia_Clases_Estudiantes_Tabla

    Num_Estudiante     Codigo_Clase     Sesion     Sesion_Clase     Termino     Ultimo_Dia      Ausencias

         12121010            Reco_205          01               01               1501         7/12/2015           1

         13131010            Reco_205          01               01               1501         8/12/2015           2       

         12121010            Reco_205          01               01               1501        11/12/2015          1

         13131010            Reco_205          01               01               1501        12/12/2015          0

    Quiero Buscar en Asistencia_Clases_Estudiantes_Tabla buscar el ultimo dia que el estudiante estuvo presente en este caso el estudiante 12121010 fue el 11/12/2015 y el estudiantes 13131010 fue el 12/12/2015 ademas quiero contar las ausencias y poner el resultado en la columna ausencias, en este caso el estudiante 12121010 tuvo 2 y el estudiante 13131010 tambien tuvo 2, gracias

    lunes, 18 de enero de 2016 19:57

Respuestas

  • Saludos,

    Bastaría con crear una agrupación y usando funciones de agregación MAX, SUM... obtener lo que deseas:

    Trata:

    declare @Asistencia_Clases_Estudiantes_Tabla table
    (
    Num_Estudiante int,
    Codigo_Clase varchar(10),
    Sesion char(2),     
    Sesion_Clase char(2),
    Termino int,    
    Ultimo_Dia date,     
    Ausencias int
    );
    
    insert into @Asistencia_Clases_Estudiantes_Tabla 
    values
    (12121010, 'Reco_205', '01', '01', 1501, '20151207', 1),
    (13131010, 'Reco_205', '01', '01', 1501, '20151208', 2),       
    (12121010, 'Reco_205', '01', '01', 1501, '20151211', 1),
    (13131010, 'Reco_205', '01', '01', 1501, '20151212', 0);
    
    
    SELECT
    	a.Num_Estudiante, MAX(a.Ultimo_Dia) AS Ultimo_Dia, SUM(a.Ausencias) AS Ausencias
    FROM
    	@Asistencia_Clases_Estudiantes_Tabla a
    GROUP BY
    	a.Num_Estudiante 
    ORDER BY
    	Num_Estudiante, Ultimo_Dia 


    Ayacucho - Perú
    Recuerda si mi solución atiende tu consulta por favor márcala como útil y como respuesta.

    http://litigiouslobo.blogspot.com/
    El Blog de Steve Morrison

    lunes, 18 de enero de 2016 23:13