You are on page 1of 5

PASO 1

SELECT * FROM _g_student_history WHERE cicle_id='UAMZWBZI'


DELETE FROM _g_student_history WHERE cicle_id='UAMZWBZI'
PASO 2
SELECT * FROM _g_student_history WHERE cicle_id='HBLRRKPD'
DELETE FROM _g_student_history WHERE cicle_id='HBLRRKPD'

PASO 3
Insert into _g_student_history
select distinct on (gb.cicle_id,gb.student_id,gb.class_definition_id)
            short_unique_id(),
            'C',
            gb.student_id,
            gb.group_id,
            cd.id,
            gb.class_instance_id,
            ci.group_id,
            cd.name,
            gb.cicle_id,
            cic.name,
            --array_agg(gb.grade) over (partition by
gb.cicle_id,gb.student_id,gb.class_definition_id),
            true as approved,
            cd.credits,
            now() as date,
            'JB021221'
from _gb_grades gb
join _g_class_definitions cd on cd.id = gb.class_definition_id
join _g_class_instances ci on ci.id = gb.class_instance_id
join _g_cicles cic on cic.id = gb.cicle_id
left join _g_student_history sh
on sh.class_definition_id = gb.class_definition_id and gb.cicle_id = sh.cicle_id and
gb.student_id = sh.student_id
where sh.id is null
and gb.cicle_id='UAMZWBZI'
and gb.grade >= ‘6’;

PASO 4
Insert into _g_student_history
select distinct on (gb.cicle_id,gb.student_id,gb.class_definition_id)
            short_unique_id(),
            'C',
            gb.student_id,
            gb.group_id,
            cd.id,
            gb.class_instance_id,
            ci.group_id,
            cd.name,
            gb.cicle_id,
            cic.name,
            --array_agg(gb.grade) over (partition by
gb.cicle_id,gb.student_id,gb.class_definition_id),
            false as approved,
            cd.credits,
            now() as date,
            'JB021221'
from _gb_grades gb
join _g_class_definitions cd on cd.id = gb.class_definition_id
join _g_class_instances ci on ci.id = gb.class_instance_id
join _g_cicles cic on cic.id = gb.cicle_id
left join _g_student_history sh
on sh.class_definition_id = gb.class_definition_id and gb.cicle_id = sh.cicle_id and
gb.student_id = sh.student_id
where sh.id is null
and gb.cicle_id='UAMZWBZI'
and gb.grade < '6';

PASO 5

UPDATE _gb_grades gb
SET class_instance_id = gci.id
FROM _g_class_instances gci
WHERE gb.group_id = gci.group_id
AND gb.class_definition_id = gci.class_definition_id
and gb.cicle_id='HBLRRKPD'
and gb.period_id ='HPJMOBHU'
and gb.student_id IN (SELECT student_id
                                      FROM _gb_grades gb
                                      join _g_students gs on gs.id = gb.student_id
                                      WHERE gs.group_id != gb.group_id
                                      AND gb.cicle_id ='HBLRRKPD')

PASO 6
UPDATE _gb_grades gb
set group_id = gs.group_id
FROM _g_students gs
WHERE gs.id = gb.student_id
and gb.cicle_id='HBLRRKPD'
and gb.period_id IN ('HPJMOBHU','KTAPQJA5')
and gb.student_id IN (SELECT student_id
                                      FROM _gb_grades gb
                                      join _g_students gs on gs.id = gb.student_id
                                      WHERE gs.group_id != gb.group_id
                                      AND gb.cicle_id ='HBLRRKPD')

_________________________________________

DELETE FROM _gb_grades WHERE id IN (SELECT


            gb.id
FROM _gb_grades gb
join _g_class_definitions cd on cd.id = gb.class_definition_id
join _g_class_instances ci on ci.id = gb.class_instance_id
join _g_cicles cic on cic.id = gb.cicle_id
join _g_students gs on gs.id = gb.student_id
join _g_periods gp on gp.id = gb.period_id
join _g_groups gg on gg.id = gb.group_id
join _v_students vs on vs.id = gs.id
WHERE gb.period_id IN ('HPJMOBHU')
and vs.group_name != gg.name
and gb.student_id IN (SELECT DISTINCT student_id
                                      FROM _gb_grades gb
                                      join _g_students gs on gs.id = gb.student_id
                                      WHERE gs.group_id != gb.group_id
                                      AND gb.cicle_id ='HBLRRKPD'
                                          AND period_id ='HPJMOBHU'))
                     
                                          ORDER BY gb.student_id, gb.class_definition_id,     
gb.class_instance_id, periodo
                     
                                          SELECT * FROM _gb_grades WHERE student_id='J2GSGIOO'
And period_id='HPJMOBHU'

    
        SELECT
            gb.id,
            gb.student_id,         
            gs.group_id,
            gb.group_id,
            cd.id,
            gb.class_instance_id,
            gb.cicle_id,
            gb.period_id,
            gb.teacher_id
            gs.name as Nombre,
            gs.lastname1 as apellidop,
            gs.lastname1 as apellidom,
            cd.name as clase,
            gp.name as periodo,
            vs.group_name grupo_estudiante,
            gg.name grupo_calificacion,
            gb.grade as calificacion
FROM _gb_grades gb
join _g_class_definitions cd on cd.id = gb.class_definition_id
join _g_class_instances ci on ci.id = gb.class_instance_id
join _g_cicles cic on cic.id = gb.cicle_id
join _g_students gs on gs.id = gb.student_id
join _g_periods gp on gp.id = gb.period_id
join _g_groups gg on gg.id = gb.group_id
join _v_students vs on vs.id = gs.id
WHERE gb.period_id IN ('HPJMOBHU')
and vs.group_name != gg.name
and gb.student_id IN (SELECT DISTINCT student_id
                                      FROM _gb_grades gb
                                      join _g_students gs on gs.id = gb.student_id
                                      WHERE gs.group_id != gb.group_id
                                      AND gb.cicle_id ='HBLRRKPD'
                                          AND period_id ='HPJMOBHU'))
                                          ORDER BY gb.student_id, gb.class_definition_id,     
gb.class_instance_id, periodo

SELECT
            gb.id,
            gb.student_id,         
            gs.group_id,
            gb.group_id,
            cd.id,
            gb.class_instance_id,
            gb.cicle_id,
            gb.period_id,
            gb.teacher_id,
            gs.name as Nombre,
            gs.lastname1 as apellidop,
            gs.lastname1 as apellidom,
            cd.name as clase,
            gp.name as periodo,
            vs.group_name grupo_estudiante,
            gg.name grupo_calificacion,
            gb.grade as calificacion
FROM _gb_grades gb
join _g_class_definitions cd on cd.id = gb.class_definition_id
join _g_class_instances ci on ci.id = gb.class_instance_id
join _g_cicles cic on cic.id = gb.cicle_id
join _g_students gs on gs.id = gb.student_id
join _g_periods gp on gp.id = gb.period_id
join _g_groups gg on gg.id = gb.group_id
join _v_students vs on vs.id = gs.id
WHERE gb.period_id IN ('HPJMOBHU')
and vs.group_name != gg.name
and gb.student_id IN (SELECT DISTINCT student_id
                                      FROM _gb_grades gb
                                      join _g_students gs on gs.id = gb.student_id
                                      WHERE gs.group_id != gb.group_id
                                      AND gb.cicle_id ='HBLRRKPD'
                                          AND period_id ='HPJMOBHU')
                                          ORDER BY gb.student_id, gb.class_definition_id,     
gb.class_instance_id, periodo

You might also like