Erilliset opettajan opinnot suorittaneet poimitaan näillä pätevyyskoodeilla (ks. pätevyyskoodisto):

"iu" (entinen 670 = erilliset erityisopettajan opinnot)

"ir" (entinen 674 = erilliset erityislastentarhanopettajan opinnot)

"iy" (entinen 678 = erilliset opinto-ohjaajan opinnot)

"im" (entinen 904 = erilliset aineenopettajan pedagogiset opinnot)

"ix" (entinen 912 = ammatillisten oppilaitosten ja kansan- ja kansalaisopistojen kasvatustieteelliset opinnot)

Tiedonkeruun tietuekuvaus

Erilliset opettajan opinnot -tiedonkeruun tietuekuvaus

Personer som fullgjort fristående studier för lärare


Erilliset opettajan opinnot poimintaskripti
-- Luotu oma keräystaulu Erilliset opettajat pätevyystiedoille Virta-kannassa:

CREATE TABLE [TK_eriope_patevyydet](
    [Oppilaitostunnus] [varchar](5) NOT NULL,
    [oppilaitosnimi] [varchar](50) NOT NULL,
    [koulutuksen_sijaintikunta] [varchar](3) NOT NULL,
    [kunta] [varchar](30) NOT NULL,
    [Erilliset_opettajan_opinnot] [varchar](3) NOT NULL,
    [patevyys_selite] [varchar](50) NOT NULL,
    [suoritusvuosi_ja_kuukausi] [varchar](6) NOT NULL,
    [suorituspvm] [date] NOT NULL,
    [Henkilotunnus] [varchar](11) NOT NULL,
    [Henkilon_nimi] [varchar](60) NOT NULL,
    [Sukunimi] [varchar](50) NULL,
    [Etunimet] [varchar](50) NULL,
    [opintosuorituksen_avain] [varchar](50) NULL,
    [opiskelija_avain] [varchar](50) NULL,
    [paivityspvm] [smalldatetime] NULL,
    [DB] [varchar](20) NULL
)



-- Tauluun tuodaan uusin vuoden (@vuosi) data-setti. Edellisen päivän tiedot pois.

CREATE TABLE #Lopputulos_patevyys(
        erilliset_opettajan_opinnot varchar(2),
        patevyys_selite varchar(200),
        suoritusvuosi_ja_kuukausi varchar(6),
        suorituspvm date,
        henkilotunnus varchar(12),
        henkilon_nimi varchar(200),
        sukunimi varchar(100),
        etunimet varchar(100),
        opintosuorituksen_avain varchar(100),
        opiskelija_avain varchar(100),
        db varchar(10),
        opintosuoritusid int,
        opiskelijaid int,
        patevyysid int,
        oppilaitostunnus varchar(5),
        oppilaitosnimi varchar(100),
        koodi varchar(3),
        kunta varchar(200)
)

CREATE TABLE #patevyys(
        erilliset_opettajan_opinnot varchar(2),
        patevyys_selite varchar(200),
        suoritusvuosi_ja_kuukausi varchar(6),
        suorituspvm date,
        henkilotunnus varchar(12),
        henkilon_nimi varchar(200),
        sukunimi varchar(100),
        etunimet varchar(100),
        opintosuorituksen_avain varchar(100),
        opiskelija_avain varchar(100),
        db varchar(10),
        opintosuoritusid int,
        opiskelijaid int,
        patevyysid int
)

INSERT INTO #patevyys ( erilliset_opettajan_opinnot, patevyys_selite,suoritusvuosi_ja_kuukausi,suorituspvm,henkilotunnus,henkilon_nimi,sukunimi,etunimet,opintosuorituksen_avain,opiskelija_avain,db,opintosuoritusid,opiskelijaid,patevyysid  )
SELECT     DISTINCT 
             p.Koodi AS Erilliset_opettajan_opinnot
            , p.Nimi AS patevyys_selite /* Selite ei tiedonkeruussa */
            , substring(convert(varchar(10),os.Suorituspaivamaara),1,4) + substring(convert(varchar(10),os.Suorituspaivamaara),6,2) AS suoritusvuosi_ja_kuukausi
            , os.Suorituspaivamaara AS suorituspvm
            , h.Henkilotunnus AS Henkilotunnus
            , H.Sukunimi + ' ' + H.Etunimet AS Henkilon_nimi
            , H.Sukunimi
            , H.Etunimet
            , OS.avain AS opintosuorituksen_avain
            , O.avain AS opiskelija_avain
            , HP.DB
            , OS.id
            , O.id
            , P.ID
FROM Virta.dbo.Henkilon_patevyys HP
        JOIN  Virta.dbo.Henkilo H ON H.ID = HP.HenkiloID
        JOIN  Virta.dbo.Opintosuoritus OS ON HP.OpintosuoritusID = OS.ID
        JOIN  Virta.dbo.Patevyys P ON HP.Patevyysid = P.ID
        JOIN  Virta.dbo.Opiskelija O ON O.HenkiloID = H.ID
WHERE     OS.Suorituspaivamaara BETWEEN @vuosi+'-01-01' AND @vuosi+'-12-31'         
AND        P.Koodi IN ('iu','ir','iy','im','ix') /* Erilliset opettaja pätevyyskoodit */     
AND hp.db <> 'TAU'  -- 2019


INSERT INTO #Lopputulos_patevyys (erilliset_opettajan_opinnot,patevyys_selite,suoritusvuosi_ja_kuukausi,suorituspvm,henkilotunnus,henkilon_nimi,sukunimi,etunimet,opintosuorituksen_avain,opiskelija_avain,db,opintosuoritusid,opiskelijaid,patevyysid )
SELECT erilliset_opettajan_opinnot,patevyys_selite,suoritusvuosi_ja_kuukausi,suorituspvm,henkilotunnus,henkilon_nimi,sukunimi,etunimet,opintosuorituksen_avain,opiskelija_avain,db,opintosuoritusid,opiskelijaid,patevyysid
FROM  #patevyys


CREATE TABLE #sijaintikunta (
        opintosuoritusid int,
        oppilaitostunnus varchar(5),
        oppilaitosnimi varchar(100),
        koodi varchar(3),
        kunta varchar(200) ,
        opiskelijaid int,
        erilliset_opettajan_opinnot varchar(2)
         
)


INSERT INTO #sijaintikunta ( opintosuoritusid, oppilaitostunnus, oppilaitosnimi, koodi, kunta , opiskelijaid, erilliset_opettajan_opinnot)
SELECT DISTINCT p.opintosuoritusid, ORG.Koodi, ORG.Nimi ,k.koodi, k.nimi , p.opiskelijaid, p.erilliset_opettajan_opinnot
FROM  #patevyys p
            JOIN virta.dbo.Op_suorituksen_organisaatio op_org ON op_ORG.OpintosuoritusID = p.opintosuoritusid
            JOIN virta.dbo.Organisaatio ORG ON ORG.ID = op_org.OrganisaatioID
            JOIN virta.dbo.Opiskeluoikeus OO ON p.opiskelijaid = oo.OpiskelijaID
            JOIN virta.dbo.Opiskeluoikeusjakso OJ ON OJ.OpiskeluoikeusID = OO.id                 
            JOIN  virta.dbo.Kunta K ON K.ID = OJ.KuntaID
WHERE k.koodi <> '999'


--SELECT * FROM #sijaintikunta
CREATE TABLE #dubbla (
        opiskelijaid int,
        koodi varchar(3),
        kk varchar(10),
        erilliset_opettajan_opinnot varchar(2)
)

INSERT INTO #dubbla (opiskelijaid, koodi,kk,erilliset_opettajan_opinnot)
SELECT p.opiskelijaid , s.koodi, p.db, p.erilliset_opettajan_opinnot
FROM #patevyys P
        JOIN #sijaintikunta S ON S.opintosuoritusid = p.opintosuoritusid
ORDER BY db, oppilaitostunnus, henkilotunnus


CREATE TABLE #poistettavat (
    kunta varchar(3),
    opintosuoritusid int
)


INSERT INTO #poistettavat (kunta,opintosuoritusid )
SELECT CASE
        
        WHEN S.oppilaitostunnus = '01901' AND s.koodi <> '091' THEN s.koodi
        WHEN S.oppilaitostunnus = '01903' AND s.koodi <> '853' THEN s.koodi
        WHEN S.oppilaitostunnus = '01905' AND s.koodi <> '837' THEN s.koodi
        WHEN S.oppilaitostunnus = '01906' AND s.koodi <> '272' THEN s.koodi
        WHEN S.oppilaitostunnus = '10089' AND s.koodi <> '853' THEN s.koodi
        WHEN S.oppilaitostunnus = '10088' AND s.koodi <> '167' THEN s.koodi
        END
        AS kunta
        ,s.opintosuoritusid

FROM #sijaintikunta s WHERE s.opiskelijaid IN (

             SELECT opiskelijaid 
             FROM  #dubbla
            GROUP BY opiskelijaid
            HAVING count(*)>1

    )
ORDER BY s.opiskelijaid



UPDATE L
SET L.kunta = S.kunta,
    L.koodi = S.koodi,
    L.oppilaitostunnus = S.oppilaitostunnus,
    L.oppilaitosnimi = S.oppilaitosnimi

FROM #Lopputulos_patevyys L
        JOIN #sijaintikunta S ON S.opintosuoritusid = L.opintosuoritusid
WHERE L.opintosuoritusid NOT IN (SELECT p.opintosuoritusid FROM #poistettavat p WHERE p.kunta = S.kunta AND p.opintosuoritusid = s.opintosuoritusid)
AND S.kunta NOT IN (SELECT p.kunta FROM #poistettavat p WHERE p.kunta = S.kunta AND p.opintosuoritusid = s.opintosuoritusid)




CREATE TABLE #TK_eriope_patevyydet (
    Oppilaitostunnus varchar(5) ,
    oppilaitosnimi varchar(50) ,
    koulutuksen_sijaintikunta varchar(3) ,
    kunta varchar(30) ,
    Erilliset_opettajan_opinnot varchar(3) ,
    patevyys_selite varchar(50) ,
    suoritusvuosi_ja_kuukausi varchar(6) ,
    suorituspvm date ,
    Henkilotunnus varchar(11) ,
    Henkilon_nimi varchar(60) ,
    Sukunimi varchar(50) ,
    Etunimet varchar(50) ,
    opintosuorituksen_avain varchar(50) ,
    opiskelija_avain varchar(50) ,
    paivityspvm smalldatetime ,
    DB varchar(20) 
) 


INSERT INTO #TK_eriope_patevyydet( 
            Oppilaitostunnus
           ,oppilaitosnimi
           ,koulutuksen_sijaintikunta
           ,kunta
           ,Erilliset_opettajan_opinnot
           ,patevyys_selite
           ,suoritusvuosi_ja_kuukausi
           ,suorituspvm
           ,Henkilotunnus
           ,Henkilon_nimi
           ,Sukunimi
           ,Etunimet
           ,opintosuorituksen_avain
           ,opiskelija_avain
           ,paivityspvm
           ,DB )
SELECT            
    L.oppilaitostunnus,
    L.oppilaitosnimi,
    L.koodi,
    L.kunta,
    L.erilliset_opettajan_opinnot,
    L.patevyys_selite,
    L.suoritusvuosi_ja_kuukausi,
    L.suorituspvm,
    L.henkilotunnus,
    L.henkilon_nimi,
    L.sukunimi,
    L.etunimet,
    L.opintosuorituksen_avain,
    L.opiskelija_avain,
    getdate(),
    L.db
FROM #Lopputulos_patevyys L

     


DELETE FROM [TK_eriope_patevyydet]

INSERT INTO [dbo].[TK_eriope_patevyydet]
           ([Oppilaitostunnus]
           ,[oppilaitosnimi]
           ,[koulutuksen_sijaintikunta]
           ,[kunta]
           ,[Erilliset_opettajan_opinnot]
           ,[patevyys_selite]
           ,[suoritusvuosi_ja_kuukausi]
           ,[suorituspvm]
           ,[Henkilotunnus]
           ,[Henkilon_nimi]
           ,[Sukunimi]
           ,[Etunimet]
           ,[opintosuorituksen_avain]
           ,[opiskelija_avain]
           ,[paivityspvm]
           ,[DB])

SELECT Oppilaitostunnus,oppilaitosnimi,koulutuksen_sijaintikunta,kunta,Erilliset_opettajan_opinnot,patevyys_selite,suoritusvuosi_ja_kuukausi,suorituspvm,Henkilotunnus,Henkilon_nimi,Sukunimi,Etunimet,opintosuorituksen_avain,opiskelija_avain,paivityspvm,DB
FROM #TK_eriope_patevyydet   
 

DROP TABLE #patevyys
DROP TABLE #sijaintikunta
DROP TABLE #dubbla
DROP TABLE #poistettavat
    
DROP TABLE #Lopputulos_patevyys
DROP TABLE #TK_eriope_patevyydet

Tarkistustiedosto

Puolipiste erotelut csv-tiedosto
Oppilaitostunnus;Koulutuksen sijaintikunta;Erilliset opettajan opinnot;Opintojen suoritusvuosi ja -kuukausi;Henkilotunnus;Sukunimi;Etunimet;opintosuorituksen_avain;opiskelija_avain


SarakeKuvaus
OppilaitostunnusTilastokeskuksen antama virallinen 5-numeroinen oppilaitostunnus.
Koulutuksen sijaintikunta

091 = Helsinki

109 = Hämeenlinna

167 = Joensuu

179 = Jyväskylä

205 = Kajaani

272 = Kokkola

398 = Lahti

564 = Oulu

684 = Rauma

698 = Rovaniemi

740 = Savonlinna

837 = Tampere

853 = Turku

Erilliset opettajan opinnotPätevyyskoodi

"iu" (entinen 670 = erilliset erityisopettajan opinnot)

"ir" (entinen 674 = erilliset erityislastentarhanopettajan opinnot)

"iy" (entinen 678 = erilliset opinto-ohjaajan opinnot)

"im" (entinen 904 = erilliset aineenopettajan pedagogiset opinnot)

"ix" (entinen 912 = ammatillisten oppilaitosten ja kansan- ja kansalaisopistojen kasvatustieteelliset opinnot)

Opintojen suoritusvuosi ja -kuukausiVuosi, kuukausi (vvvvkk)
HenkilotunnusOpiskelijan henkilötunnus
SukunimiOpiskelijan sukunimi
EtunimetOpiskelijan etunimet
opintosuorituksen_avainPätevyys opintosuorituksen Virta avain (yksilöivä tunniste)
opiskelija_avainOpiskelijan Virta avain (yksilöivä tunniste)



  • No labels

1 Comment

  1. Otetaanko tässä huomioon kaikki suorituksiin liittyvät pätevyyskoodit vai jätetäänkö pois ne, joissa on suorituspäivänä tutkarioikeus olemassa? En saanut tätä selville sql:stä.