IF OBJECT_ID('fnGetDokumentumErtekelesekOsztalyonkent') IS NOT NULL BEGIN DROP FUNCTION fnGetDokumentumErtekelesekOsztalyonkent END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (@tanevId INT, @osztalyId INT) RETURNS TABLE RETURN ( SELECT C_ERTEKELESDATUM Datum ,C_ERTEKELESTIPUSA Tipusa ,C_ERTEKELESSZOVEG SzovegesErtekeles ,C_OSZTALYZAT OsztalyzatId ,jegy.C_VALUE Osztalyzat ,CONVERT(NVARCHAR(MAX),C_SZAZALEK)+'%' Szazalek ,C_TANTARGYID TantargyId ,C_TARGYKATEGORIA TargyKategoriaId ,IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) TantargyNev ,C_FOTARGYE FotargyE ,C_ALTANTARGYKENTNYOMTATVANYBAN Altantargy ,te.C_TANULOID TanuloId ,te.C_OSZTALYCSOPORTID OsztalyCsoportId ,C_SZORGALOM SzorgalomId ,C_MAGATARTAS MagatartasId ,szorgalom.C_NAME Szorgalom ,magatartas.C_NAME Magatartas ,C_TEMA Megjegyzes ,IIF(C_TEMA IS NOT NULL AND C_ERTEKELESTIPUSA IN (1519, 1520), '(' + CAST(CHAR(ROW_NUMBER() OVER (PARTITION BY te.C_TANULOID, C_ERTEKELESTIPUSA, IIF(C_TEMA IS NOT NULL, 1, 0) ORDER BY C_ERTEKELESDATUM) + 96) AS NVARCHAR(10)) + ')', '') Jeloles ,IIF(C_TEMA IS NOT NULL AND C_ERTEKELESTIPUSA IN (1519, 1520), '(' + CAST(CHAR(ROW_NUMBER() OVER (PARTITION BY te.C_TANULOID, C_ERTEKELESTIPUSA, IIF(C_TEMA IS NOT NULL, 1, 0) ORDER BY C_ERTEKELESDATUM) + 96) AS NVARCHAR(10)) + '): ' + C_TEMA, '') JelolesTemaval FROM T_TANULOERTEKELES_OSSZES te INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') tanulo ON tanulo.TanuloId = te.C_TANULOID LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON oe.Id = te.Id LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES ofoe ON ofoe.Id = te.Id LEFT JOIN T_TANTARGY_OSSZES t ON t.Id = te.C_TANTARGYID LEFT JOIN T_DICTIONARYITEMBASE_OSSZES jegy ON jegy.Id = C_OSZTALYZAT AND jegy.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalom ON szorgalom.Id = C_SZORGALOM AND szorgalom.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartas ON magatartas.Id = C_MAGATARTAS AND magatartas.C_TANEVID = @tanevId LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = te.C_OSZTALYCSOPORTID WHERE te.Torolt = 'F' AND te.C_ERTEKELESDATUM >= BelepesDatum AND (te.C_ERTEKELESDATUM <= KilepesDatum OR KilepesDatum IS NULL) AND (cs.Id IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))) AND (t.C_TARGYKATEGORIA <> 1248 OR t.C_TARGYKATEGORIA IS NULL) )