Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Excerpt
"Tiedot ammattikorkeakouluissa kalenterivuoden [vuosi] aikana suoritetuista tutkinnoista, erikoistumisopinnoista, erikoistumiskoulutuksista ja ammatillisesta opettajankoulutuksesta."

...

Code Block
languagesql
titleSQL
linenumberstrue
collapsetrue
--kiel
update T
set kiel=upper(k.Koodi)
from #tktutk T
inner join Opiskeluoikeusjakso oj on oj.OpiskeluoikeusID=T.opiskeluoikeus_id
inner join Kieli k on k.ID=oj.KieliID
where T.suorituspaivamaara between oj.Alkamispaivamaara and coalesce(oj.Paattymispaivamaara,'9999-01-01')
;

 

Opiskelukunta (kkun)

Haetaan opetuskunta-tieto tiedetyn opiskeluoikeuden opiskeluoikeusjaksosta.

Code Block
languagesql
titleSQL
linenumberstrue
collapsetrue
-- kkun
update T
set kkun=k.Koodi
from #tktutk T
inner join Opiskeluoikeusjakso oj on oj.OpiskeluoikeusID=T.opiskeluoikeus_id
inner join Kunta k on k.ID=oj.KuntaID
where T.suorituspaivamaara between oj.Alkamispaivamaara and coalesce(oj.Paattymispaivamaara,'9999-01-01')
;

 

Henkilötunnus (ht)

Tieto tietovarannossa olevasta opiskelijan (henkilön) tiedosta sellaisenaan.

...

Code Block
languagesql
titleSQL
linenumberstrue
collapsetrue
-- kirtupv :: Ko. tutkintoon kirjoihintuloajankohta ko. ammattikorkeakoulussa
-- NB siirto-opiskelijat
update T
set kirtupv=CONVERT(varchar,T.oikeus_alkamispaivamaara,112)--112=yyyymmdd
from #tktutk T
;

 

Tutkinnon suorittamisajankohta ko. ammattikorkeakoulussa (suorpvm)

...

Code Block
languagesql
titleSQL
linenumberstrue
collapsetrue
-- poissalk :: Poissaololukukaudet
update T
set poissalk
    =coalesce(
        (select count(*)
         from Lukukausi_ilmoittautuminen l
         inner join Lukukausi_ilm_tila lt on lt.ID=l.Lukukausi_ilmoittautumisen_tilaID
         and lt.Koodi in ('2','3') --poissa, poissa ei kuluta
         where l.OpiskeluoikeusID=T.opiskeluoikeus_id
         and l.Paattymispaivamaara<=(select vuosi from #param)+'-12-31'
         -- ei sallita ennen opiskeluoikeutta olleita (siirto-opiskelija)
         and l.Paattymispaivamaara > T.oikeus_alkamispaivamaara
         -- "varmuuden vuoksi" ilmoittautumiset pois, eli tutkinnon suorittamisen jälkeen alkavat lk:t pois
         and l.Alkamispaivamaara < T.suorituspaivamaara
        )
    ,0)
    + coalesce((select lkm from #poissaolo_maara_ennen where opiskeluoikeusid=T.opiskeluoikeus_id),0)
from #tktutk T
WHERE   T.opiskeluoikeus_id NOT IN (SELECT OPL.OpiskeluoikeusID FROM  Op_oik_siir_opisk_liittyva_lukukausi OPL )
-- 2017 muutos FF

;


-- Katsotaan onko Op_oik_siir_opisk_liittyva_lukukausi taulussa poissa ja läsnä-olot siirto-opiskelijalle
-- 2017-01-12
 
UPDATE T  
SET lasnalk

    = COALESCE(
    
        (SELECT count(*)
         FROM Lukukausi_ilmoittautuminen l
             INNER join Lukukausi_ilm_tila lt on lt.ID=l.Lukukausi_ilmoittautumisen_tilaID
         AND lt.Koodi in ('1') --läsnä
         WHERE l.OpiskeluoikeusID=T.opiskeluoikeus_id
         AND l.Paattymispaivamaara<=(select vuosi from #param)+'-12-31'
         -- ei sallita ennen opiskeluoikeutta olleita (siirto-opiskelija)
         AND l.Paattymispaivamaara > T.oikeus_alkamispaivamaara
         -- "varmuuden vuoksi" ilmoittautumiset pois, eli tutkinnon suorittamisen jälkeen alkavat lk:t pois
         and l.Alkamispaivamaara < T.suorituspaivamaara
        )
    ,0)
    
    + COALESCE(
    
        (        SELECT OL.Maara 
                FROM Op_oik_siir_opisk_liittyva_lukukausi OL 
                    INNER JOIN Lukukausi_ilm_tila LT ON LT.id = OL.Lukukausi_ilm_tilaID 
                WHERE OL.OpiskeluoikeusID = T.opiskeluoikeus_id 
                AND LT.Koodi = '1' 
        )         
    ,0)            
        
FROM #tktutk T    
WHERE   T.opiskeluoikeus_id IN  (SELECT OPL.OpiskeluoikeusID FROM  Op_oik_siir_opisk_liittyva_lukukausi OPL  )


-- 2016 muutos poissaolo siirto-opiskelijat
-- 2017-01-12

UPDATE T
SET poissalk
    
        = COALESCE(
    
        (SELECT count(*)
         FROM Lukukausi_ilmoittautuminen l
             INNER join Lukukausi_ilm_tila lt on lt.ID=l.Lukukausi_ilmoittautumisen_tilaID
         AND lt.Koodi IN ('2','3') --Poissa
         WHERE l.OpiskeluoikeusID=T.opiskeluoikeus_id
         AND l.Paattymispaivamaara<=(select vuosi from #param)+'-12-31'
         -- ei sallita ennen opiskeluoikeutta olleita (siirto-opiskelija)
         AND l.Paattymispaivamaara > T.oikeus_alkamispaivamaara
          -- "varmuuden vuoksi" ilmoittautumiset pois, eli tutkinnon suorittamisen jälkeen alkavat lk:t pois
         and l.Alkamispaivamaara < T.suorituspaivamaara
         
        )
    ,0)        
    
    + COALESCE(
    
            (    SELECT OL.Maara 
                FROM Op_oik_siir_opisk_liittyva_lukukausi OL 
                    INNER JOIN Lukukausi_ilm_tila LT ON LT.id = OL.Lukukausi_ilm_tilaID 
                WHERE OL.OpiskeluoikeusID = T.opiskeluoikeus_id 
                AND LT.Koodi = '2' 
            ) 
    , 0 )        
FROM #tktutk T
WHERE   T.opiskeluoikeus_id  IN (    SELECT OPL.OpiskeluoikeusID  FROM  Op_oik_siir_opisk_liittyva_lukukausi OPL )


 
Puuttuvat lukukaudet (puuttuulk)

...

Code Block
update T
set puuttuulk
    =coalesce(
        (select count(*)
         from virta.dbo.Lukukausi_ilmoittautuminen l
         inner join virta.dbo.Lukukausi_ilm_tila lt on lt.ID=l.Lukukausi_ilmoittautumisen_tilaID
         and lt.Koodi in ('4') -- puuttuu
         where l.OpiskeluoikeusID=T.opiskeluoikeus_id
         and l.Paattymispaivamaara<=(select vuosi from #param)+'-12-31'
         -- ei sallita ennen opiskeluoikeutta olleita (siirto-opiskelija)
         and l.Paattymispaivamaara > T.oikeus_alkamispaivamaara
        )
    ,0)
    
from #tktutk T


 
Ensimmäinen kirjoihintuloajankohta ko. tutkintoon (kirtu1pv)

...

Code Block
languagesql
titleSQL
linenumberstrue
collapsetrue
-- koulk
update T
set koulk=k.Koodi
from #tktutk T
inner join Opintosuoritus s on s.ID=T.opintosuoritus_id
inner join Tutkintonimike k on k.ID=s.TutkintonimikeID
where 1=1
-- jos ei jo ole
and koulk is null
;



 

Opintopisteet

Oma temp-taulu, joka nopeuttaa oleellisesti kyselyitä. Viedään temp-tauluun kaikki lehtitason muu opintosuoritus -lajiset opintosuoritukset, jotka liittyvät perusjoukkoon valittuun suoritettuun tutkintoon.

...