kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170515183856_KRETA_1276/fnGetDokumentumTanulokFeljegyzesei.sql
2024-03-13 00:33:46 +01:00

53 lines
No EOL
1.8 KiB
Transact-SQL

IF OBJECT_ID('fnGetDokumentumTanulokFeljegyzesei') IS NOT NULL BEGIN
DROP FUNCTION fnGetDokumentumTanulokFeljegyzesei
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumTanulokFeljegyzesei (@tanevId INT, @osztalyId INT)
RETURNS TABLE
RETURN (
SELECT
tanulok.TanuloId TanuloId
,te.ID EsemenyId
,te.C_TARTALOM Tartalom
,te.C_TIPUS Tipusa
,feljegyezo.C_NYOMTATASINEV FeljegyzoNeve
,te.C_KEZDETE Datum
,te.C_MEGJEGYZES Megjegyzes
FROM T_TANULOESEMENY_OSSZES te
INNER JOIN T_TANITASIORA_OSSZES tao on tao.Id = te.C_TANITASIORAID
CROSS APPLY (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, tao.C_OSZTALYCSOPORTID, 'T')) tanulok
INNER JOIN fnGetDokumentumTanulokOsztalybanToltottNapjai(@tanevId, @osztalyId) tanuloDatum
ON
tanuloDatum.TanuloId = tanulok.TanuloId
AND tanuloDatum.NapDatuma = tao.C_DATUM
INNER JOIN T_FELHASZNALO_OSSZES feljegyezo ON feljegyezo.ID = te.C_FELJEGYZOID
WHERE
C_MINDENKINEK = 'T'
AND te.TOROLT = 'F'
AND tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@osztalyId))
AND te.C_TIPUS NOT IN (1536, 1542, 6324, 6325)
UNION
SELECT
C_TANULOID TanuloId
,te.ID EsemenyId
,te.C_TARTALOM Tartalom
,te.C_TIPUS Tipusa
,feljegyezo.C_NYOMTATASINEV FeljegyzoNeve
,te.C_KEZDETE Datum
,te.C_MEGJEGYZES Megjegyzes
FROM T_TANULO_TANULOESEMENY_OSSZES tte
INNER JOIN T_TANULOESEMENY_OSSZES te on te.ID = tte.C_TANULOESEMENYID
INNER JOIN T_FELHASZNALO_OSSZES feljegyezo ON feljegyezo.ID = te.C_FELJEGYZOID
WHERE
C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
AND te.TOROLT = 'F'
AND te.C_TIPUS NOT IN (1536, 1542, 6324, 6325)
)