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.
121 lines
3.6 KiB
121 lines
3.6 KiB
10 months ago
|
|
||
|
|
||
|
truncate table promstat_docprogram_aggr;
|
||
|
|
||
|
insert into promstat_docprogram_aggr( person_id,
|
||
|
degree_program_id,
|
||
|
doctoral_program_id,
|
||
|
sem_rueck_beur_ein,
|
||
|
examplan_id,
|
||
|
course_of_study_id,
|
||
|
astat_bund,
|
||
|
astat_land,
|
||
|
k_type_of_doctorate,
|
||
|
gueltig_von,
|
||
|
gueltig_bis,
|
||
|
finished,
|
||
|
structured_doctoral_program_id,
|
||
|
stu_employment_business_id,
|
||
|
stu_employment_startdate,
|
||
|
stu_employment_enddate,
|
||
|
k_examform_id,
|
||
|
k_examform_un,
|
||
|
k_place_of_studies_astat,
|
||
|
geschlecht_astat,
|
||
|
staatsangehoerigkeit_1_astat,
|
||
|
staatsangehoerigkeit_2_astat,
|
||
|
hzb_datum,
|
||
|
hzb_jahr,
|
||
|
hzb_type_astat,
|
||
|
hzb_kreis_astat,
|
||
|
hzb_staat_astat,
|
||
|
first_external_semester,
|
||
|
first_external_year,
|
||
|
first_external_country_astat,
|
||
|
first_external_university_astat,
|
||
|
summe
|
||
|
)
|
||
|
SELECT P.his_person_id,
|
||
|
P.degree_program_id,
|
||
|
P.doctoral_program_id,
|
||
|
P.sem_rueck_beur_ein,
|
||
|
P.examplan_id,
|
||
|
P.course_of_study_id,
|
||
|
substring(P.astat_bund from 1 for 10),
|
||
|
P.astat_land,
|
||
|
P.k_type_of_doctorate,
|
||
|
P.gueltig_von,
|
||
|
P.gueltig_bis,
|
||
|
P.finished,
|
||
|
P.structured_doctoral_program_id,
|
||
|
P.stu_employment_business_id,
|
||
|
P.stu_employment_startdate,
|
||
|
P.stu_employment_enddate,
|
||
|
P.k_examform_id,
|
||
|
P.k_examform_un,
|
||
|
P.k_place_of_studies_astat,
|
||
|
D.geschlecht_astat,
|
||
|
D.staatsangehoerigkeit_1_astat,
|
||
|
D.staatsangehoerigkeit_2_astat,
|
||
|
D.hzb_datum,
|
||
|
year(D.hzb_datum),
|
||
|
substring(D.hzb_type_astat from 1 for 10),
|
||
|
val(D.hzb_kreis_astat),
|
||
|
val(D.hzb_staat_astat),
|
||
|
D.first_external_semester,
|
||
|
val(substring('' || D.first_external_semester from 1 for 4)) as first_external_year,
|
||
|
val(D.first_external_country_astat),
|
||
|
substring(first_external_university_astat from 1 for 10),
|
||
|
count(*)
|
||
|
|
||
|
FROM prom_promotionen P left outer join prom_promovierende D
|
||
|
on (P.his_person_id=D.his_person_id)
|
||
|
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
|
||
|
;
|
||
|
|
||
|
update promstat_docprogram_aggr set prev_exam_university_astat=A.ext_university_astat,
|
||
|
prev_exam_country_astat=val(ext_country_astat),
|
||
|
prev_exam_degree_land=substring(ext_degree_land_astat from 1 for 10),
|
||
|
prev_exam_degree_bund=substring(ext_degree_bund_astat from 1 for 10)
|
||
|
from prom_abschlusspruefungen A
|
||
|
where A.examplan_id=promstat_docprogram_aggr.examplan_id
|
||
|
;
|
||
|
|
||
|
update promstat_docprogram_aggr set prev_exam_semester=E.sem_der_pruefung
|
||
|
from lm_examplan E
|
||
|
where E.id=promstat_docprogram_aggr.examplan_id;
|
||
|
|
||
|
--nur wenn lm_examplan nichts findet:
|
||
|
|
||
|
update promstat_docprogram_aggr set prev_exam_semester=S.tid
|
||
|
from prom_abschlusspruefungen A, semester S
|
||
|
where promstat_docprogram_aggr.prev_exam_semester is null
|
||
|
and A.examplan_id=promstat_docprogram_aggr.examplan_id
|
||
|
and A.examination_date between S.sem_beginn and S.sem_ende
|
||
|
;
|
||
|
|
||
|
update promstat_docprogram_aggr set prev_exam_year=val(substring('' || prev_exam_semester from 1 for 4))
|
||
|
;
|
||
|
|
||
|
update promstat_docprogram_aggr set
|
||
|
prev_exam_degree_land=substring(int_degree_land_astat from 1 for 10)
|
||
|
from prom_abschlusspruefungen A
|
||
|
where A.examplan_id=promstat_docprogram_aggr.examplan_id
|
||
|
and promstat_docprogram_aggr.prev_exam_degree_land is null
|
||
|
;
|
||
|
|
||
|
update promstat_docprogram_aggr set
|
||
|
prev_exam_degree_bund=substring(int_degree_bund_astat from 1 for 10)
|
||
|
from prom_abschlusspruefungen A
|
||
|
where A.examplan_id=promstat_docprogram_aggr.examplan_id
|
||
|
and promstat_docprogram_aggr.prev_exam_degree_bund is null
|
||
|
;
|
||
|
|
||
|
-- update promstat_docprogram_aggr set abschluss_astat_bund=substring(abschluss_astat_bund from 3 for 2)
|
||
|
-- where length(abschluss_astat_bund)=4;
|
||
|
--
|
||
|
-- update promstat_docprogram_aggr set abschluss_astat_bund=substring(abschluss_astat_bund from 2 for 2)
|
||
|
-- where length(abschluss_astat_bund)=3;
|
||
|
--
|
||
|
|