jijijiij

 avatar
unknown
sql
2 years ago
1.3 kB
7
Indexable
SELECT MATRICULA_ID FROM MATRICULA

SELECT * FROM MATRICULA 

DO
$$
DECLARE
C_CREDITOS CURSOR FOR SELECT MATRICULA_ID FROM MATRICULA;
MATRI_ID INT;
SUMCRED INT;
BEGIN
	OPEN C_CREDITOS;
	LOOP
		FETCH C_CREDITOS INTO MATRI_ID;
		EXIT WHEN NOT FOUND;
		SELECT COALESCE (sum(cur.creditos),0) into SUMCRED
		FROM detalle_matricula dm
		INNER JOIN grupo gru on gru.grupo_id = dm.grupo_id
		INNER JOIN curso cur on gru.curso_id = cur.curso_id
		inner join matricula ma on dm.matricula_id=ma.matricula_id
		inner join alumno al on ma.alumno_id = al.alumno_id
		WHERE ma.matricula_id=MATRI_ID;
		
		update matricula
		set nro_creditos_matriculados = SUMCRED
		where matricula_id=MATRI_ID;
	END LOOP;
	CLOSE C_CREDITOS;
END;
$$

select * from matricula where codigo_semestre='2021-1' and alumno_id=133

SELECT nombre_curso FROM detalle_matricula dm
inner join grupo gr on dm.grupo_id= dm.grupo_id
inner join curso cu on gr.curso_id=cu.curso_id
inner join matricula ma on dm.matricula_id= ma.matricula_id
where ma.matricula_id=534 
group by 1


select creditos into cred
	from grupo gr inner join curso cu on gr.curso_id=cu.curso_id
	where grupo_id=new.grupo_id;
	update matricula
	set nro_creditos_matriculados=coalesce(nro_creditos_matriculados,0)+cred
	where matricula_id=new.matricula_id;
Editor is loading...