SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('fnGetDokumentumErtekelesekOsztalyonkent') IS NOT NULL BEGIN DROP FUNCTION fnGetDokumentumErtekelesekOsztalyonkent END GO CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (@tanevId INT, @osztalyId INT) RETURNS TABLE RETURN ( SELECT tanuloErtekeles.C_DATUM Datum ,tanuloErtekeles.C_TIPUSID TipusId ,tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg ,tanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId ,ertekelesOsztalyzat.C_VALUE ErtekelesOsztalyzatValue ,ertekelesOsztalyzat.C_NAME ErtekelesOsztalyzatNev ,IIF(tanuloErtekeles.C_ERTEKELESSZAZALEK IS NOT NULL -- ,CONVERT(NVARCHAR(3), tanuloErtekeles.C_ERTEKELESSZAZALEK) + '%' -- ,NULL) ErtekelesSzazalek ,tanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId ,magatartasOsztalyzat.C_VALUE MagatartasOsztalyzatValue ,magatartasOsztalyzat.C_NAME MagatartasOsztalyzatNev ,tanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg ,tanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId ,magatartasErtek.C_NAME MagatartasErtek ,tanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId ,szorgalomOsztalyzat.C_VALUE SzorgalomOsztalyzatValue ,szorgalomOsztalyzat.C_NAME SzorgalomOsztalyzatNev ,tanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg ,tanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId ,szorgalomErtek.C_NAME SzorgalomErtek ,tanuloErtekeles.C_TANULOID TanuloId ,tanuloErtekeles.C_OSZTALYCSOPORTID OsztalyCsoportId ,tanuloErtekeles.C_TANTARGYID TantargyId ,IIF(tantargy.C_NEV <> tantargy.C_NEVNYOMTATVANYBAN AND tantargy.C_NEVNYOMTATVANYBAN IS NOT NULL -- ,C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')' -- ,tantargy.C_NEV) TantargyNevZarojellel ,tantargy.C_NEV TantargyNev ,tantargy.C_NEVNYOMTATVANYBAN TantargyNevNyomtatvanyban ,tantargy.C_TARGYKATEGORIA TargyKategoriaId ,tantargy.C_FOTARGYE FotargyE ,tantargy.C_FOTARGYID FotargyId ,tantargy.C_ALTANTARGYKENTNYOMTATVANYBAN Altantargy ,tanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema ,IIF( -- tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520), '(' + CAST(CHAR(ROW_NUMBER() OVER (PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + ')', '' ) Jeloles ,IIF( -- tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520), '(' + CAST(CHAR(ROW_NUMBER() OVER (PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + '): ' + tanuloErtekeles.C_ERTEKELESTEMA, '' ) JelolesAndErtekelesTema ,tanuloErtekeles.C_ISMAGATARTASSZORGALOM isMagatartasSzorgalom FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') tanulo ON tanulo.TanuloId = tanuloErtekeles.C_TANULOID LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tanuloErtekeles.C_TANTARGYID AND (tantargy.C_TARGYKATEGORIA <> 1248 OR tantargy.C_TARGYKATEGORIA IS NULL) LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertekelesOsztalyzat ON ertekelesOsztalyzat.ID = tanuloErtekeles.C_ERTEKELESOSZTALYZATID AND ertekelesOsztalyzat.C_TANEVID = @tanevId AND ertekelesOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasOsztalyzat ON magatartasOsztalyzat.ID = tanuloErtekeles.C_MAGATARTASOSZTALYZATID AND magatartasOsztalyzat.C_TANEVID = @tanevId AND magatartasOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomOsztalyzat ON szorgalomOsztalyzat.ID = tanuloErtekeles.C_SZORGALOMOSZTALYZATID AND szorgalomOsztalyzat.C_TANEVID = @tanevId AND szorgalomOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasErtek ON magatartasErtek.ID = tanuloErtekeles.C_MAGATARTASERTEKID AND magatartasErtek.C_TANEVID = @tanevId AND magatartasErtek.C_TYPE LIKE 'MagatartasErtekelesTipus' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomErtek ON szorgalomErtek.ID = tanuloErtekeles.C_SZORGALOMERTEKID AND szorgalomErtek.C_TANEVID = @tanevId AND szorgalomErtek.C_TYPE LIKE 'SzorgalomErtekelesTipus' LEFT JOIN T_CSOPORT_OSSZES csoport ON csoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID AND (csoport.ID IS NULL OR csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))) WHERE tanuloErtekeles.Torolt = 'F' AND tanuloErtekeles.C_DATUM >= BelepesDatum AND (tanuloErtekeles.C_DATUM <= KilepesDatum OR KilepesDatum IS NULL) ) GO