kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Functions/fnGetDokumentumTanulokTanultTantargyai.sql
2024-03-13 00:33:46 +01:00

37 lines
No EOL
1.4 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('fnGetDokumentumTanulokTanultTantargyai') IS NOT NULL
BEGIN
DROP FUNCTION fnGetDokumentumTanulokTanultTantargyai
END
GO
CREATE FUNCTION fnGetDokumentumTanulokTanultTantargyai (@tanevId INT, @osztalyCsoportId INT)
RETURNS @retTanuloTantargyai TABLE
(
TanuloId INT,
TanuloCsoportId INT,
TantargyNev NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @UtolsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
INSERT INTO @retTanuloTantargyai
SELECT DISTINCT
OsztalyTanuloi.TanuloId TanuloId
,OsztalyTanuloi.TanuloCsoportId TanuloCsoportId
,Tantargy.C_NEV TantargyNev
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyTanuloi
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON OsztalyTanuloi.TanuloId = TanuloCsoport.C_TANULOID AND TanuloCsoport.TOROLT = 'F'
INNER JOIN T_FOGLALKOZAS_OSSZES Foglalkozas on TanuloCsoport.C_OSZTALYCSOPORTID = Foglalkozas.C_OSZTALYCSOPORTID AND Foglalkozas.TOROLT = 'F'
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = Foglalkozas.C_TANTARGYID AND Tantargy.TOROLT = 'F'
WHERE
(TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM BETWEEN OsztalyTanuloi.BelepesDatum AND ISNULL(OsztalyTanuloi.KilepesDatum, @UtolsoNapTanevRendje))
RETURN
END
GO