Schnittstelle CampusOnline (TU Graz) zu SuperX-Modul COSTAGE http://www.superx-projekt.de/doku/costage_modul/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
3.4 KiB

--Abfrage Maske Studierende (Zeitreihe) CO Basisdaten (43000) durchführen 14:54:12
--Abfrage
SELECT
SM.semester_tid as semester,
SG.st_absz_nr,
SG.st_skz_nr,
SG.studiengangs_identifikator,
SG.studiengangs_bezeichnung,
SM.st_sem_nr,
ST.st_studium_nr,
S.st_studstamm_nr,
ST.st_studiengang_nr,
SG.studiengangs_typ_kb,
SA.studienstatustyp,
SA.st_studienstatus_nr,
SA.beginn_datum,
SA.gueltig_ab,
S.matrikelnummer,
S.geschlecht,
S.ca12_staat,
S.second_nationality,
SG.fachkennzeichen,
null::integer as st_studiengang_nr_msg,
null::integer as st_studiengang_nr_tsg,
null::integer as studienfach_sortierung,
null::char(10) as hrst,
null::integer as fachsemester,
null::integer as hssem,
null::integer as status,
0::smallint as primaerflag,
null::integer as studiengang_nr,
null::integer as fach_nr,
rank () over (partition by SM.st_sem_nr, S.st_studstamm_nr, SG.studiengangs_identifikator order by gueltig_ab desc) as status_historie
into temp tmp_studien
FROM costage_st_studierendenstammdaten S,
costage_st_studien ST,
costage_st_semester SM,
costage_st_studiengaenge SG ,
costage_st_studienstatus SA
where
S.st_studstamm_nr = ST.st_studstamm_nr
and ST.st_studiengang_nr=SG.st_studiengang_nr
and S.matrikelnummer is not null
--and SM.semester_tid >= 20171
-- and SM.semester_tid <= 20171
and S.matrikelnummer =7322871
and SG.studiengangs_typ_kb in ('ESG','TSG')
and SA.st_studium_nr=ST.st_studium_nr
and SA.st_sem_nr=SM.st_sem_nr
and SA.studienstatustyp not in ('a','o')
--group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14
;
-- select * from tmp_studien
-- update tmp_studien
-- set abschluss_str=A.name
-- from costage_st_abschlussziele_lokal A
-- where A.st_absz_nr=tmp_studien.abschluss
-- ;
update tmp_studien
set hrst=H.hoererstatus_kb
from costage_st_hoererstatus H
where tmp_studien.st_studstamm_nr = H.st_studstamm_nr
and tmp_studien.st_sem_nr = H.st_sem_nr
;
update tmp_studien
set hssem=F.fachsemester
from costage_st_fachsemester F
where F.st_studium_nr=tmp_studien.st_studium_nr
and F.st_sem_nr=tmp_studien.st_sem_nr
and F.fachsemestertyp='HS'
;
update tmp_studien
set primaerflag=1
where exists (select st_studstamm_nr
from costage_st_hauptstudien H
where H.st_studstamm_nr=tmp_studien.st_studstamm_nr
and H.st_studium_nr=tmp_studien.st_studium_nr
and H.st_sem_nr=tmp_studien.st_sem_nr);
update tmp_studien set fach_nr=M.studienfach_sortierung
from costage_st_studiengaenge_mtsg M
where M.st_studiengang_nr_tsg=tmp_studien.st_studiengang_nr
;
update tmp_studien set fach_nr=1
where fach_nr is null;
update tmp_studien
set status=1
where studienstatustyp='I' --TODO: andere Ausprägungen gem. Doku
;
delete from costage_st_studien_aggr;
insert into costage_st_studien_aggr(
st_studium_nr,
st_studstamm_nr,
matrikelnummer,
st_studiengang_nr,
st_studienstatus_nr,
status,
hrst,
semester,
fachsemester,
hssem,
primaerflag,
studiengang_nr,
fach_nr
)
select st_studium_nr,
st_studstamm_nr,
matrikelnummer,
st_studiengang_nr,
st_studienstatus_nr,
status,
hrst,
semester,
fachsemester,
hssem,
primaerflag,
rank () over (partition by semester, st_studstamm_nr order by primaerflag desc,st_studium_nr asc)
as studiengang_nr,
fach_nr
from tmp_studien
where status_historie=1;
drop table tmp_studien;