Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE
- @SesjaEgzaminacyjnaID INT = 40,
- @RodzajDeklaracjiID INT = 2,
- @OkeID INT = 3,
- @SystemNazwa NVARCHAR(100) = 'sioeo',
- @PlacowkaKod NVARCHAR(12) = NULL
- BEGIN
- SET NOCOUNT ON;
- ;WITH CTE_MAIN AS (
- SELECT
- p.Nazwa AS PodmiotNazwa,
- '' AS PodmiotAdres, -- nieuzywane w sioeo
- p.Rspo AS PodmiotRspo,
- p.IdTypPlacowki AS PodmiotTypPlacowkiID,
- p.Kod AS PodmiotKod,
- doz.ID AS ZdajacyID,
- doz.Imie AS ZdajacyImie,
- doz.DrugieImie AS ZdajacyImieDrugie,
- doz.Nazwisko AS ZdajacyNazwisko,
- doz.Pesel AS ZdajacyPesel,
- doz.IdTypDokumentuTozsamosci AS ZdajacyDokumentTypID,
- doz.NumerDokumentu AS ZdajacyNumerDokumentu,
- doz.DataUrodzenia AS ZdajacyDataUrodzenia,
- doz.MiejsceUrodzenia AS ZdajacyMiejsceUrodzenia,
- doz.Plec AS ZdajacyPlec,
- wez.ID AS WynikID,
- te.IdTypJezykaZdawania AS WynikTypJezykaZdawaniaID,
- te.IdTypFormyZdawania AS WynikTypFormyZdawaniaID,
- te.IdTypPoziomu AS WynikPoziomZdawaniaID,
- te.Kod AS WynikKod,
- wez.IdStanZdawaniaEgzaminu AS WynikStanZdawaniaEgzaminuID,
- wez.IdStanWyniku AS WynikStanWynikuID,
- ae.MaksymalnaLiczbaPunktow AS WynikMaxPunkty,
- wez.WynikProcentowy AS WynikProcent,
- wez.Wynik WynikUzyskanePunkty,
- wez.Centyl AS WynikCentyle,
- 1 AS WynikCzyObowiazkowy, -- nieuzywane w sioeo
- ae.KodArkusza AS WynikArkuszaKodArkusza
- FROM
- wynik.WynikDeklaracjiZdajacego wdz
- INNER JOIN podmiot.Placowka p ON wdz.IdPlacowka = p.ID
- INNER JOIN deklaracja.DaneOsoboweZdajacego doz ON wdz.IdDaneOsoboweZdajacego = doz.ID
- INNER JOIN wynik.WynikEgzaminuZdajacego wez ON wez.IdWynikDeklaracjiZdajacego = wdz.ID
- INNER JOIN egzamin.Egzamin e ON wez.IdEgzamin = e.ID
- INNER JOIN egzamin.TypEgzaminu te ON te.ID = e.IdTypEgzaminu
- /*INNER*/ LEFT JOIN wynik.WynikArkuszaEgzaminacyjnego wae -- docelowo inner join
- INNER JOIN egzamin.ArkuszEgzaminacyjny ae ON ae.ID = wae.IdArkuszEgzaminacyjny
- ON wae.IdWynikEgzaminuZdajacego = wez.ID AND ae.IdEgzamin = e.ID
- WHERE
- wdz.IdSesjaEgzaminacyjna = @SesjaEgzaminacyjnaID
- AND wdz.IdTypZgloszeniaDlaRozporzadzenia = @RodzajDeklaracjiID
- AND (@PlacowkaKod IS NULL OR p.Kod LIKE @PlacowkaKod + N'%')
- )
- SELECT
- @SystemNazwa AS 'systemNazwa',
- @OkeID AS 'okeId',
- @SesjaEgzaminacyjnaID AS 'sesjaId',
- @RodzajDeklaracjiID AS 'rodzajDeklaracjiId',
- (
- SELECT
- PodmiotNazwa AS 'nazwa',
- PodmiotAdres AS 'adres',
- PodmiotRspo AS 'rspo',
- PodmiotTypPlacowkiID AS 'typPlacowkiId',
- PodmiotKod AS 'kod',
- (
- SELECT
- ZdajacyID AS 'id',
- ZdajacyImie AS 'imie',
- ZdajacyImieDrugie AS 'imieDrugie',
- ZdajacyNazwisko AS 'nazwisko',
- ZdajacyPesel AS 'pesel',
- ZdajacyDokumentTypID AS 'dokumentTypId',
- ZdajacyNumerDokumentu AS 'dokumentNumer',
- ZdajacyDataUrodzenia AS 'dataUrodzenia',
- ZdajacyMiejsceUrodzenia AS 'miejsceUrodzenia',
- ZdajacyPlec AS 'plec',
- (
- SELECT
- WynikTypJezykaZdawaniaID AS 'typJezykaZdawaniaId',
- WynikTypFormyZdawaniaID AS 'formaZdawaniaId',
- WynikPoziomZdawaniaID AS 'poziomZdawaniaId',
- WynikKod AS 'kodEgzaminu',
- WynikStanZdawaniaEgzaminuID AS 'stanZdawaniaEgzaminuId',
- WynikStanWynikuID AS 'stanWynikuId',
- WynikMaxPunkty AS 'maxPunkty',
- WynikProcent AS 'procent',
- WynikUzyskanePunkty AS 'uzyskanePunkty',
- WynikCentyle AS 'centyle',
- WynikCzyObowiazkowy AS 'obowiazkowy',
- (
- SELECT
- WynikArkuszaKodArkusza AS 'kodArkusza'
- FROM
- CTE_MAIN wynikArkusza
- WHERE
- wynikArkusza.WynikID = wynik.WynikID
- GROUP BY
- WynikArkuszaKodArkusza
- ) AS 'kodyArkusza'
- FROM
- CTE_MAIN wynik
- WHERE
- wynik.ZdajacyID = zdajacy.ZdajacyID
- GROUP BY
- WynikID,
- WynikTypJezykaZdawaniaID,
- WynikTypFormyZdawaniaID,
- WynikPoziomZdawaniaID,
- WynikKod,
- WynikStanZdawaniaEgzaminuID,
- WynikStanWynikuID,
- WynikMaxPunkty,
- WynikProcent,
- WynikUzyskanePunkty,
- WynikCentyle,
- WynikCzyObowiazkowy
- FOR XML PATH ('wynik'), TYPE
- ) AS 'wyniki'
- FROM
- CTE_MAIN zdajacy
- WHERE
- zdajacy.PodmiotKod = podmiot.PodmiotKod
- GROUP BY
- ZdajacyID,
- ZdajacyImie,
- ZdajacyImieDrugie,
- ZdajacyNazwisko,
- ZdajacyPesel,
- ZdajacyDokumentTypID,
- ZdajacyNumerDokumentu,
- ZdajacyDataUrodzenia,
- ZdajacyMiejsceUrodzenia,
- ZdajacyPlec
- FOR XML PATH ('zdajacy'), TYPE
- ) AS 'wszyscyzdajacy'
- FROM CTE_MAIN podmiot
- GROUP BY
- PodmiotNazwa,
- PodmiotAdres,
- PodmiotRspo,
- PodmiotTypPlacowkiID,
- PodmiotKod
- FOR XML PATH ('podmiot'), TYPE
- ) AS 'podmioty'
- FOR XML PATH (''), ROOT('egzaminMaturalny')
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement