Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180424122206_KRETA_5134/fnGetDokumentumTanuloMentessegei.sql
2024-03-13 00:33:46 +01:00

37 lines
1.7 KiB
Transact-SQL

IF OBJECT_ID('fnGetDokumentumTanuloMentessegei') IS NOT NULL BEGIN
DROP FUNCTION fnGetDokumentumTanuloMentessegei
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumTanuloMentessegei (@tanevId INT, @osztalyId INT)
RETURNS TABLE
RETURN (
SELECT
OsztalyTanuloi.TanuloId TanuloId
,OsztalyTanuloi.TanuloCsoportId TanuloCsoportId
,mentesseg.mentessegOka MentessegOka
,mentesseg.tantargyNev + ' ' + ISNULL(IIF(mentesseg = '', '', '(' + LEFT(mentesseg, LEN(mentesseg)- 1) + ')'),' ') TantargyNev
,C_KEZDETE Kezdete
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
INNER JOIN (SELECT DISTINCT
mentesseg.C_TANULOID tanuloId
,s.TanuloCsoportId
,IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) tantargyNev
,mentesseg.C_MENTESSEGOKA + ' ' + ISNULL('(' + FORMAT(C_KEZDETE, 'yyyy.MM.dd.') + ' - ' + FORMAT(C_VEGE, 'yyyy.MM.dd.') + ')', '' ) mentessegOka
,IIF(mentesseg.C_ERTEKELESMENTESITES = 'T', 'Értékelésmentesség, ', '') + IIF(mentesseg.C_ORAMENTESITES = 'T', 'Óramentesség, ', '') as mentesseg
,mentesseg.C_KEZDETE
FROM T_TANULOMENTESSEG_OSSZES mentesseg
INNER JOIN T_TANTARGY_OSSZES t on t.ID = mentesseg.C_TANTARGYID
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') s ON s.TanuloId = mentesseg.C_TANULOID
WHERE
mentesseg.TOROLT='F'
AND BelepesDatum <= C_KEZDETE
AND (KilepesDatum IS NULL OR KilepesDatum >= C_VEGE)
) mentesseg ON OsztalyTanuloi.TanuloId = mentesseg.TANULOID AND OsztalyTanuloi.TanuloCsoportId = mentesseg.TanuloCsoportId
)