|
|
|
@ -18,7 +18,8 @@ select relname,relname as tabelle from pg_class where relname::varchar(200) in ( |
|
|
|
'dim_abschluss', |
|
|
|
'dim_abschluss', |
|
|
|
'dim_kost', |
|
|
|
'dim_kost', |
|
|
|
'dim_kotr', |
|
|
|
'dim_kotr', |
|
|
|
'dim_kreis') UNION |
|
|
|
'dim_kreis', |
|
|
|
|
|
|
|
'dim_semester') UNION |
|
|
|
SELECT N.nspname||'.'||C.relname as relname, N.nspname||'.'||C.relname as tabelle |
|
|
|
SELECT N.nspname||'.'||C.relname as relname, N.nspname||'.'||C.relname as tabelle |
|
|
|
FROM pg_class C, pg_namespace N |
|
|
|
FROM pg_class C, pg_namespace N |
|
|
|
WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups', |
|
|
|
WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups', |
|
|
|
@ -35,7 +36,8 @@ WHERE N.oid = C.relnamespace and N.nspname||'.'||C.relname in ('user_groups', |
|
|
|
'dim_abschluss', |
|
|
|
'dim_abschluss', |
|
|
|
'dim_kost', |
|
|
|
'dim_kost', |
|
|
|
'dim_kotr', |
|
|
|
'dim_kotr', |
|
|
|
'dim_kreis' |
|
|
|
'dim_kreis', |
|
|
|
|
|
|
|
'dim_semester' |
|
|
|
);</sqlvar> |
|
|
|
);</sqlvar> |
|
|
|
</sqlvars> |
|
|
|
</sqlvars> |
|
|
|
|
|
|
|
|
|
|
|
@ -437,19 +439,17 @@ kontinent, |
|
|
|
inl_ausl_kurz, |
|
|
|
inl_ausl_kurz, |
|
|
|
inl_ausl_lang) as |
|
|
|
inl_ausl_lang) as |
|
|
|
|
|
|
|
|
|
|
|
SELECT |
|
|
|
select A.schluessel as apnr, |
|
|
|
apnr, |
|
|
|
A.name as druck, |
|
|
|
druck, |
|
|
|
A.schluessel as astat, |
|
|
|
to_number(uniquename,'99999')::integer as astat, |
|
|
|
K.name as kontinent, |
|
|
|
level2_char as kontinent, |
|
|
|
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz, |
|
|
|
level1_char as inl_ausl_kurz, |
|
|
|
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang |
|
|
|
level1_str as inl_ausl_lang |
|
|
|
|
|
|
|
FROM dim_bp_apnr |
|
|
|
|
|
|
|
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat') |
|
|
|
|
|
|
|
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from k_astat_staat A left outer join k_astat_kontinent K |
|
|
|
|
|
|
|
on (A.kontinent=K.schluessel) |
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
</#if> |
|
|
|
</#if> |
|
|
|
|
|
|
|
|
|
|
|
@ -615,6 +615,65 @@ bland_astat) as |
|
|
|
|
|
|
|
|
|
|
|
</#if> |
|
|
|
</#if> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<#if views?seq_contains("dim_semester") > |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select now(), 'view dim_semester exists - fine'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<#else> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select now(), 'Erzeuge View dim_semester'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
create view dim_semester( |
|
|
|
|
|
|
|
tid, |
|
|
|
|
|
|
|
eintrag, |
|
|
|
|
|
|
|
eintrag_kurz, |
|
|
|
|
|
|
|
sem_beginn, |
|
|
|
|
|
|
|
sem_ende, |
|
|
|
|
|
|
|
semestertyp, |
|
|
|
|
|
|
|
vorsem, |
|
|
|
|
|
|
|
folgesem, |
|
|
|
|
|
|
|
folgesem_sem_beginn, |
|
|
|
|
|
|
|
ist_zukunft, |
|
|
|
|
|
|
|
akad_jahr, |
|
|
|
|
|
|
|
akad_jahr_absolv, |
|
|
|
|
|
|
|
akad_jahr_anf) as |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with tmp_semester as (select C.apnr as tid, |
|
|
|
|
|
|
|
C.druck as eintrag, |
|
|
|
|
|
|
|
C.kurz as eintrag_kurz, --TODO |
|
|
|
|
|
|
|
C.d_akt_von as sem_beginn, |
|
|
|
|
|
|
|
C.d_akt_bis as sem_ende, |
|
|
|
|
|
|
|
val(substring('' || C.apnr from 5 for 1)) as semestertyp, |
|
|
|
|
|
|
|
add_sem(C.apnr,-1) as vorsem, |
|
|
|
|
|
|
|
add_sem(C.apnr,1) as folgesem, |
|
|
|
|
|
|
|
(select C2.d_akt_von from cif C2 where C2.key=661 |
|
|
|
|
|
|
|
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn |
|
|
|
|
|
|
|
from cif C |
|
|
|
|
|
|
|
where key=661 |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
select tid, |
|
|
|
|
|
|
|
eintrag, |
|
|
|
|
|
|
|
eintrag_kurz, |
|
|
|
|
|
|
|
sem_beginn, |
|
|
|
|
|
|
|
sem_ende, |
|
|
|
|
|
|
|
semestertyp, |
|
|
|
|
|
|
|
vorsem, |
|
|
|
|
|
|
|
folgesem, |
|
|
|
|
|
|
|
folgesem_sem_beginn, |
|
|
|
|
|
|
|
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft, |
|
|
|
|
|
|
|
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr, |
|
|
|
|
|
|
|
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv, |
|
|
|
|
|
|
|
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from tmp_semester |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</#if> |
|
|
|
|
|
|
|
|
|
|
|
<#else> |
|
|
|
<#else> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -911,19 +970,17 @@ kontinent, |
|
|
|
inl_ausl_kurz, |
|
|
|
inl_ausl_kurz, |
|
|
|
inl_ausl_lang) as |
|
|
|
inl_ausl_lang) as |
|
|
|
|
|
|
|
|
|
|
|
SELECT |
|
|
|
select A.schluessel as apnr, |
|
|
|
apnr, |
|
|
|
A.name as druck, |
|
|
|
druck, |
|
|
|
A.schluessel as astat, |
|
|
|
to_number(uniquename,'99999')::integer as astat, |
|
|
|
K.name as kontinent, |
|
|
|
level2_char as kontinent, |
|
|
|
case when A.schluessel=0 then 'I' else 'A' end as inl_ausl_kurz, |
|
|
|
level1_char as inl_ausl_kurz, |
|
|
|
case when A.schluessel=0 then 'Inland' else 'Ausland' end as inl_ausl_lang |
|
|
|
level1_str as inl_ausl_lang |
|
|
|
|
|
|
|
FROM dim_bp_apnr |
|
|
|
|
|
|
|
where dimension_bp_id=(select D.tid from dimension_bp D where D.apnr='bluep_ca12_staat') |
|
|
|
|
|
|
|
and apnr !=0 --nur für Abwärtskompatibilität zu FLEDA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from k_astat_staat A left outer join k_astat_kontinent K |
|
|
|
|
|
|
|
on (A.kontinent=K.schluessel) |
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select now(), 'Erzeuge View dim_stg'; |
|
|
|
select now(), 'Erzeuge View dim_stg'; |
|
|
|
@ -1037,4 +1094,53 @@ bland_astat) as |
|
|
|
dimension_bp_id = (SELECT tid FROM dimension_bp WHERE apnr='bluep_hzbkfz') |
|
|
|
dimension_bp_id = (SELECT tid FROM dimension_bp WHERE apnr='bluep_hzbkfz') |
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select now(), 'Erzeuge View dim_semester'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
create view dim_semester( |
|
|
|
|
|
|
|
tid, |
|
|
|
|
|
|
|
eintrag, |
|
|
|
|
|
|
|
eintrag_kurz, |
|
|
|
|
|
|
|
sem_beginn, |
|
|
|
|
|
|
|
sem_ende, |
|
|
|
|
|
|
|
semestertyp, |
|
|
|
|
|
|
|
vorsem, |
|
|
|
|
|
|
|
folgesem, |
|
|
|
|
|
|
|
folgesem_sem_beginn, |
|
|
|
|
|
|
|
ist_zukunft, |
|
|
|
|
|
|
|
akad_jahr, |
|
|
|
|
|
|
|
akad_jahr_absolv, |
|
|
|
|
|
|
|
akad_jahr_anf) as |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with tmp_semester as (select C.apnr as tid, |
|
|
|
|
|
|
|
C.druck as eintrag, |
|
|
|
|
|
|
|
C.kurz as eintrag_kurz, --TODO |
|
|
|
|
|
|
|
C.d_akt_von as sem_beginn, |
|
|
|
|
|
|
|
C.d_akt_bis as sem_ende, |
|
|
|
|
|
|
|
val(substring('' || C.apnr from 5 for 1)) as semestertyp, |
|
|
|
|
|
|
|
add_sem(C.apnr,-1) as vorsem, |
|
|
|
|
|
|
|
add_sem(C.apnr,1) as folgesem, |
|
|
|
|
|
|
|
(select C2.d_akt_von from cif C2 where C2.key=661 |
|
|
|
|
|
|
|
and C2.apnr=add_sem(C.apnr,1)) as folgesem_sem_beginn |
|
|
|
|
|
|
|
from cif C |
|
|
|
|
|
|
|
where key=661 |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
select tid, |
|
|
|
|
|
|
|
eintrag, |
|
|
|
|
|
|
|
eintrag_kurz, |
|
|
|
|
|
|
|
sem_beginn, |
|
|
|
|
|
|
|
sem_ende, |
|
|
|
|
|
|
|
semestertyp, |
|
|
|
|
|
|
|
vorsem, |
|
|
|
|
|
|
|
folgesem, |
|
|
|
|
|
|
|
folgesem_sem_beginn, |
|
|
|
|
|
|
|
(case when sem_beginn > current_date then 1 else 0 end) as ist_zukunft, |
|
|
|
|
|
|
|
case when semestertyp='1' then (tid/10)-1 when semestertyp='2' then (tid/10) end as akad_jahr, |
|
|
|
|
|
|
|
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10)+1 end as akad_jahr_absolv, |
|
|
|
|
|
|
|
case when semestertyp='1' then (tid/10) when semestertyp='2' then (tid/10) end as akad_jahr_anf |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from tmp_semester |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
</#if> |
|
|
|
</#if> |
|
|
|
|